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}),这是其核心优势。