当前位置: 首页 > news >正文

WPF控件大全:核心属性详解

WPF常用控件及核心属性

以下是WPF开发中最常用的控件及其关键属性(按功能分类):


基础布局控件
  1. Grid(网格布局)

    • RowDefinitions:行定义集合(如Height="Auto"
    • ColumnDefinitions:列定义集合(如Width="*"
    • Grid.Row / Grid.Column:子元素位置附加属性
  2. StackPanel(线性布局)

    • Orientation:排列方向(Horizontal/Vertical
  3. Canvas(绝对定位)

    • Canvas.Left / Canvas.Top:子元素坐标附加属性

文本与输入控件
  1. TextBox(文本框)

    <TextBox Text="输入内容" Width="200" MaxLength="50" IsReadOnly="False"/>
    

    • Text:文本内容
    • MaxLength:最大字符数
    • TextWrapping:换行方式(Wrap/NoWrap
  2. Label(标签)

    • Content:显示内容(支持文本或对象)
    • Target:绑定焦点目标控件
  3. RichTextBox(富文本)

    • Document:流文档对象(支持复杂格式)

选择控件
  1. ComboBox(下拉框)

    <ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding Selected}"/>
    

    • ItemsSource:数据源集合
    • SelectedIndex:选中项索引
    • IsEditable:是否可编辑
  2. ListBox(列表框)

    • SelectedValue:选中项的值
    • SelectionMode:选择模式(Single/Multiple
  3. CheckBox(复选框)

    • IsChecked:选中状态(True/False/Null三态)
    • Content:右侧说明文本
  4. RadioButton(单选按钮)

    • GroupName:分组名称(同组互斥)
    • IsChecked:选中状态

交互控件
  1. Button(按钮)

    <Button Content="确定" Command="{Binding SubmitCommand}" Click="Button_Click"/>
    

    • Command:绑定命令对象
    • Click:点击事件
  2. Slider(滑动条)

    • Minimum/Maximum:值范围
    • Value:当前值
    • TickFrequency:刻度间隔
  3. ProgressBar(进度条)

    • Value:当前进度值
    • IsIndeterminate:是否显示动画(无确定进度时)

图像与媒体
  1. Image(图像)

    <Image Source="/Images/logo.png" Stretch="Uniform"/>
    

    • Source:图像路径(支持URI)
    • Stretch:拉伸模式(None/Fill/Uniform
  2. MediaElement(媒体播放器)

    • Source:媒体文件路径
    • Play()/Pause():控制方法

数据展示
  1. DataGrid(数据表格)

    <DataGrid ItemsSource="{Binding Users}" AutoGenerateColumns="False"><DataGrid.Columns><DataGridTextColumn Header="姓名" Binding="{Binding Name}"/></DataGrid.Columns>
    </DataGrid>
    

    • ItemsSource:数据源
    • AutoGenerateColumns:是否自动生成列
  2. 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}),这是其核心优势。

http://www.lryc.cn/news/578923.html

相关文章:

  • Android-EDLA 解决 GtsMediaRouterTestCases 存在 fail
  • 移动公司Linux运维工程师招聘笔试题
  • 深入解析外观模式(Facade Pattern):简化复杂系统的优雅设计
  • STM32F103RET6 介绍
  • 机器学习:集成学习方法之随机森林(Random Forest)
  • 基于多种机器学习的江苏省二手房价格预测系统的设计与实现【城市全国可换】
  • 【QT】ROS2 Humble联合使用QT教程
  • Qt designer坑-布局内子控件的顺序错乱
  • ABAP+记录一个BDC的BUG修改过程
  • transformers==4.42.0会有一个BUG
  • pdf 合并 python实现(已解决)
  • Python 数据分析与可视化 Day 14 - 建模复盘 + 多模型评估对比(逻辑回归 vs 决策树)
  • 文档全文搜索引擎:AnyTXT Searcher
  • 【RHCSA-Linux考试题目笔记(自用)】servera的题目
  • 2025-6GESP六级编程题分析
  • 机器学习在计算机视觉中的应用
  • 中科米堆三维扫描仪3D扫描压力阀抄数设计
  • 3D扫描:开启数字化世界的多面钥匙
  • 【强化学习】深度解析 GRPO:从原理到实践的全攻略
  • ESP32-S3开发板LVGL图形界面开发实战教程
  • React 学习(2)
  • 【python】pdf拆成图片,加中文,再合成pdf
  • Spark流水线数据探查组件
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • vscode vim插件示例json意义
  • STM32模拟I2C获取AP3216C光学接近传感器数据
  • Linux-修改线上MariaDB服务端口号
  • 【网工|知识升华版|实验】1 登录华为设备并配置
  • IDEA2025 Version Control 窗口 local changes显示
  • Adobe高阶技巧与设计师创意思维的进阶指南