WPF常用控件及核心属性
以下是WPF开发中最常用的控件及其关键属性(按功能分类):
基础布局控件
-  Grid(网格布局)- RowDefinitions:行定义集合(如- Height="Auto")
- ColumnDefinitions:列定义集合(如- Width="*")
- Grid.Row/- Grid.Column:子元素位置附加属性
 
-  StackPanel(线性布局)- Orientation:排列方向(- Horizontal/- Vertical)
 
-  Canvas(绝对定位)- Canvas.Left/- Canvas.Top:子元素坐标附加属性
 
文本与输入控件
-  TextBox(文本框)<TextBox Text="输入内容" Width="200" MaxLength="50" IsReadOnly="False"/>- Text:文本内容
- MaxLength:最大字符数
- TextWrapping:换行方式(- Wrap/- NoWrap)
 
-  Label(标签)- Content:显示内容(支持文本或对象)
- Target:绑定焦点目标控件
 
-  RichTextBox(富文本)- Document:流文档对象(支持复杂格式)
 
选择控件
-  ComboBox(下拉框)<ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding Selected}"/>- ItemsSource:数据源集合
- SelectedIndex:选中项索引
- IsEditable:是否可编辑
 
-  ListBox(列表框)- SelectedValue:选中项的值
- SelectionMode:选择模式(- Single/- Multiple)
 
-  CheckBox(复选框)- IsChecked:选中状态(- True/- False/- Null三态)
- Content:右侧说明文本
 
-  RadioButton(单选按钮)- GroupName:分组名称(同组互斥)
- IsChecked:选中状态
 
交互控件
-  Button(按钮)<Button Content="确定" Command="{Binding SubmitCommand}" Click="Button_Click"/>- Command:绑定命令对象
- Click:点击事件
 
-  Slider(滑动条)- Minimum/- Maximum:值范围
- Value:当前值
- TickFrequency:刻度间隔
 
-  ProgressBar(进度条)- Value:当前进度值
- IsIndeterminate:是否显示动画(无确定进度时)
 
图像与媒体
-  Image(图像)<Image Source="/Images/logo.png" Stretch="Uniform"/>- Source:图像路径(支持URI)
- Stretch:拉伸模式(- None/- Fill/- Uniform)
 
-  MediaElement(媒体播放器)- Source:媒体文件路径
- Play()/- Pause():控制方法
 
数据展示
-  DataGrid(数据表格)<DataGrid ItemsSource="{Binding Users}" AutoGenerateColumns="False"><DataGrid.Columns><DataGridTextColumn Header="姓名" Binding="{Binding Name}"/></DataGrid.Columns> </DataGrid>- ItemsSource:数据源
- AutoGenerateColumns:是否自动生成列
 
-  TreeView(树形视图)- ItemsSource:层级数据源
- SelectedItem:选中节点
 
通用核心属性
所有控件继承自
FrameworkElement的通用属性:
Width/Height:尺寸
Margin/Padding:外边距/内边距
Visibility:可见性(Visible/Collapsed/Hidden)
Background/Foreground:背景/前景色
Style:样式资源引用
DataContext:数据绑定上下文
示例:组合控件布局
<Grid><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><StackPanel Orientation="Horizontal"><Label Content="用户名:" Target="{Binding ElementName=txtUser}"/><TextBox x:Name="txtUser" Width="150"/><Button Content="登录" Margin="10,0"/></StackPanel><ListBox Grid.Row="1" ItemsSource="{Binding Items}"/>
</Grid>
提示:WPF属性支持数据绑定(如
{Binding Path})和资源引用(如{StaticResource Key}),这是其核心优势。