WPF桌面应用开发,基础入门,以及和C#相互结合开发桌面移动端

WPF桌面应用开发

文章介绍:
大家好,我是行不更名,坐不改姓的宋晓刚,WPF是一种基于.NET Framework的图形界面框架,用于开发Windows应用程序。它提供了丰富的界面控件和布局系统,让开发者能够快速构建美观、高效的桌面应用程序。在本文中,我们将从基础概念开始,逐步深入学习WPF,帮助您掌握这个强大的开发工具。
微信:15319589104
QQ: 2981345658

Windows桌面开发框架

WPF(Windows Presentation Foundation)是微软.NET框架的一部分,它为开发人员提供了一套丰富的图形、用户界面和多媒体处理功能。在C#中,WPF可用于创建传统的桌面应用程序,这些应用程序具有丰富的视觉效果和用户交互。
1.C#语言俩大框架:WPF与Winform
2.异/同点
输出结果:客户端应用(人机交互)

  • 界面渲染不同
  • 逻辑控制不同(界面设计:色彩,尺寸)
  • 短时间内完成很多功能,推荐使用Winform(现成的应用框架)

3.应用场景
主要是上位机(工业现场),2D,3D
一般的应用程序:多硬件交互比较多的应用,推荐使用桌面应用

WPF窗体设置

窗体(Window)是一种容器控件,用于创建可视化的用户界面,窗体可以包含其他控件。

  1. Title(标题):这是窗体的标题栏显示的文本。可以通过设置窗体的Title属性来指定标题文本。例如:

    <Window Title="My Window" />
    
  2. Width和Height(宽度和高度):这些属性用于设置窗体的宽度和高度。可以直接设置固定的像素值,也可以使用*调整为自适应大小。例如:

    <Window Width="400" Height="300" />
    
  3. WindowStartupLocation(窗体启动位置):这个属性用于控制窗体的启动位置。可以指定为屏幕中心(CenterScreen)、手动设置(Manual)或者根据父窗体自动调整(CenterOwner)。例如:

    <Window WindowStartupLocation="CenterScreen" />
    
  4. ResizeMode(调整大小模式):这是一个枚举属性,用于控制窗体的调整大小模式。可以选择不可调整大小(NoResize)、只能调整宽度(CanResizeWithGrip)或者完全可调整(CanResize)。例如:

    <Window ResizeMode="CanResizeWithGrip" />
    
  5. WindowStyle(窗体样式):这个属性用于指定窗体的样式,例如标准窗体(SingleBorderWindow)、无边框窗体(None)或者三维边框窗体(ThreeDBorderWindow)。例如:

    <Window WindowStyle="SingleBorderWindow" />
    
  6. Background(背景):这个属性用于设置窗体的背景颜色。可以指定一个颜色值,或者使用渐变(GradientBrush)或者图像(ImageBrush)作为背景。例如:

    <Window Background="LightGray" />
    
  7. Topmost(最顶层):这个属性用于将窗体置顶显示。设置为True时,窗体将显示在其他窗体之上。例如:

    <Window Topmost="True" />
    
  8. ShowInTaskbar(在任务栏显示):这个属性用于控制窗体是否在任务栏中显示。设置为False时,窗体将不会显示在任务栏中。例如:

    <Window ShowInTaskbar="False" />
    

    以上是WPF中常用的一些窗体设置属性,通过这些属性的设置,可以调整窗体的外观,行为和交互方式,以满足特定的需求。

WPF布局

常用的布局控件,使用以及常用的场景

Grid

功能最强大,布局最灵活的容器,讲区域划分不同大小网格

  1. 添加Grid控件:
<Grid>
   <!-- 在此处添加其他控件 -->
</Grid>
  1. 添加行和列定义:
    Grid通过行和列定义来确定控件的位置和大小。您可以使用Grid.RowDefinitions和Grid.ColumnDefinitions属性添加行和列定义。

    a. 行定义:

    <Grid>
       <Grid.RowDefinitions>
          <RowDefinition Height="Auto" />  <!-- 自动适应内容的行 -->
          <RowDefinition Height="*" />     <!-- 占据剩余空间的行 -->
       </Grid.RowDefinitions>
       <!-- 在此处添加其他控件 -->
    </Grid>
    

    b. 列定义:

    <Grid>
       <Grid.ColumnDefinitions>
          <ColumnDefinition Width="Auto" />  <!-- 自动适应内容的列 -->
          <ColumnDefinition Width="*" />     <!-- 占据剩余空间的列 -->
       </Grid.ColumnDefinitions>
       <!-- 在此处添加其他控件 -->
    </Grid>
    
  2. 将控件添加到Grid中:
    使用Grid.Row和Grid.Column属性将控件放置在Grid的对应行和列中。

    <Grid>
       <Grid.RowDefinitions>
          <RowDefinition Height="Auto" />
          <RowDefinition Height="*" />
       </Grid.RowDefinitions>
       <Grid.ColumnDefinitions>
          <ColumnDefinition Width="Auto" />
          <ColumnDefinition Width="*" />
       </Grid.ColumnDefinitions>
       
       <!-- 在第一行第一列添加一个按钮 -->
       <Button Content="按钮" Grid.Row="0" Grid.Column="0" />
       
       <!-- 在第二行第二列添加一个标签 -->
       <Label Content="标签" Grid.Row="1" Grid.Column="1" />
    </Grid>
    
  3. 常用的Grid属性:
    Grid控件提供了许多属性来定义控件的位置、大小和对齐方式。以下是几个常用的属性:

    • Grid.RowSpan和Grid.ColumnSpan:用于指定控件跨越的行数和列数。

    • Grid.RowDefinitions和Grid.ColumnDefinitions:用于定义Grid的行和列的高度和宽度。

    • Grid.Row和Grid.Column:用于指定控件所在的行和列。

    • HorizontalAlignment和VerticalAlignment:用于指定控件在单元格中的水平对齐方式和垂直对齐方式。

    • Margin:用于设置控件和网格单元格之间的空白区域。

    • Grid.IsSharedSizeScope:用于指定是否共享相同大小的列或行。

以上属性,可以有效的控制控件在Grid布局中的位置,大小和对齐方式。

StackPanel

StackPanel 是 WPF 中常用的布局面板之一,它允许您按照水平或垂直方向堆叠多个子元素。

1.添加 StackPanel 控件:

<StackPanel>
   <!-- 在此处添加其他控件 -->
</StackPanel>

2.堆叠方向:
StackPanel 提供了 Orientation 属性来指定子元素的布局方向。默认值为 Vertical,表示子元素在垂直方向上堆叠;设置为 Horizontal,表示子元素在水平方向上堆叠。

<StackPanel Orientation="Vertical">
   <!-- 在此处添加垂直方向上堆叠的子元素 -->
</StackPanel>s

<StackPanel Orientation="Horizontal">
   <!-- 在此处添加水平方向上堆叠的子元素 -->
</StackPanel>

3.添加子元素:
将控件添加到 StackPanel 中,它们将按照堆叠方向从上到下(或左到右)依次排列。

<StackPanel>
   <Button Content="按钮1" />
   <Button Content="按钮2" />
   <Button Content="按钮3" />
</StackPanel>

4.常用的属性和注意事项:
虽然 StackPanel 是一个简单的布局控件,但它提供了一些常用的属性,可以帮助您控制子元素的布局。

  • HorizontalAlignment 和 VerticalAlignment:这些属性用于指定子元素在 StackPanel 中的水平和垂直对齐方式。

  • Margin:用于设置子元素与 StackPanel 边框之间的空白区域。

  • Orientation:用于设置 StackPanel 的堆叠方向。

  • 控制子元素的大小:由于 StackPanel 只提供堆叠功能,控制子元素的大小可能需要使用其他布局控件(如 Grid 或 DockPanel)进行更精确的操作。

注意:由于 StackPanel 按照堆叠顺序布局子元素,它们将按照列表方式依次显示。这可能会导致子元素在界面拉伸或缩放时出现不理想的效果。因此,在某些情况下,您可能需要使用其他布局控件来实现更复杂的布局。

DockPanel

DockPanel 是 WPF 中常用的布局面板之一,它允许您将子元素依靠 “停靠” (dock)的方式排列在容器内。

1.添加 DockPanel 控件:

<DockPanel>
   <!-- 在此处添加其他控件 -->
</DockPanel>

2.停靠子元素:
DockPanel 提供了 LastChildFill 属性来控制最后一个子元素的填充方式。如果 LastChildFill 设置为 true(默认值),则最后一个子元素将占据 DockPanel 中剩余的空间。如果设置为 false,则最后一个子元素将仅占据其本身所需的空间。

要将子元素停靠在 DockPanel 中,可以使用 DockPanel.Dock 属性。将子元素的 DockPanel.Dock 设置为 Left、Top、Right 或 Bottom,即可将其停靠在 DockPanel 的相应边缘。

<DockPanel>
   <Button Content="按钮1" DockPanel.Dock="Left" />
   <Button Content="按钮2" DockPanel.Dock="Top" />
   <Button Content="按钮3" DockPanel.Dock="Right" />
   <Button
  • 41
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上进的宋晓刚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值