一文读懂WPF系列之常用控件以及样式

一文读懂WPF系列之常用控件以及样式

WPF控件

控件分类概览常用控件常用控件代码示例和效果

样式与模板应用样式定义​​方式行内样式​​页面/窗口级资源样式(Local Resource)应用程序全局资源独立资源字典(ResourceDictionary)控件模板(ControlTemplate)主题样式(Themes)

样式继承样式的优先级规则​​

控件分类概览

布局控件上一篇文章单独讲了,这篇就主要讲其他类型的控件

常用控件

内容控件​​ ​​Button​​:触发操作,可通过Content属性嵌入任意内容(如文本、图标)。 ​​Label​​/​​TextBlock​​:显示文本,前者支持快捷键绑定,后者轻量级。条目控件​​ ​​ListBox​​/​​ComboBox​​:显示列表数据,支持数据绑定和模板定制。 ​​DataGrid​​:表格控件,支持排序、分页和复杂数据展示。输入控件​​ ​​TextBox​​:单行文本输入。 RichTextBox:支持富文本格式(字体、颜色、段落)。 ​​PasswordBox​​:密码输入,隐藏明文。 ​​CheckBox​​/​​RadioButton​​:多选和单选控件。​​特殊容器​​ ​​TabControl​​:分页显示,通过TabItem管理多视图。 ​​Expander​​:可折叠面板,节省空间

常用控件代码示例和效果

其实主要需要理解的是TabControl 与 Expander 其他控件比较简单易懂,这个例子看懂了基本上对于布局以及控件的常用基础就差不多了,如果需求用到不常用的也可以单独在去查看使用。

TargetType:指定模板适用的控件类型(如 Button、CheckBox)。 TemplateBinding:将模板元素的属性绑定到控件的依赖属性(如 Background、Foreground)。 ContentPresenter:占位符,用于显示控件的Content 属性(如按钮文本)

主题样式(Themes)

通过 ThemeInfo 和主题资源字典实现动态换肤。 ​​适用场景​​:需要支持多套主题切换(如白天/夜间模式)

在 App.xaml.cs 中设置主题

public partial class App : Application

{

public void ChangeTheme(string themeName)

{

Resources.MergedDictionaries.Clear();

Resources.MergedDictionaries.Add(

new ResourceDictionary { Source = new Uri($"/Themes/{themeName}.xaml", UriKind.Relative) });

}

}

创建主题文件 Themes/Dark.xaml

样式继承

通过 BasedOn 复用基础样式​​

样式的优先级规则​​

当直接设置属性和样式冲突时,优先级顺序如下: 控件直接设置属性 > 显式样式(Style) > 隐式样式(无x:Key的样式) > 控件默认样式 ​隐式样式的作用域​​ 无 x:Key 的

相关数据

0365cc彩票APP官方版下载 dnf暗帝剑宗哪个厉害

dnf暗帝剑宗哪个厉害

09-11 访问量: 1964
365bet体育在线官 无线wifi密码破解Wifi密码连接工具大全(非常详细)零基础入门到精通,收藏这一篇就够了
0365cc彩票APP官方版下载 dnf时间广场怎么去

dnf时间广场怎么去

09-13 访问量: 2723