WPF中的样式
wpf中的资源和样式有很大关联
wpf的窗口样式设计模式和web方式很一样。可以单独设置某个控件的样式,也可以设置一个公用的样式和htm中css方式很一样
wpf中window和page两个图形界面,都可以设计独立公共样式
在window中可以这样定义
<Window.Resources>//资源。在资源中写样式style
<Style TargetType="TextBlock">//就就是一个样式,相当于css中样式类。targettype是样式的作用对象。这里面省略了X:key相当于这个样式的ID。这样的话这个样式就应用到这个window中所有的textbloack控件了。
<Setter Property="HorizontalAlignment" Value="Center"></Setter>///属性和value对应
<Setter Property="FontFamily" Value="Comic Sans MS"/>
<Setter Property="FontSize" Value="14"/>
</Style>
</Window.Resources>
Page中也是同样的设置。只是将Window.Resources改为Page.Resources
当然某个windows或page中设置的样式只能本窗口使用。
但是也有个全局的应用程序级别的样式。那就是在App文件中设置 <Application.Resources>。这样的话其他页面和窗口都可以使用其中的样式
样式的扩展或继承
经常会有这个情况。你设置了某个公用样式。但是某些控件可能要在这个公用样式的基础上坐些不同的设置。最好的方法就是写一个新样式可以继承原来的老样式,然后添加一些新的属性。style的baseon属性提供了这个功能
比如样式
<Style x:Key="Style1"> <Setter Property="Control.Background" Value="Yellow"/> </Style>
新的样式可以这样写:
<Style x:Key="Style2" BasedOn="{StaticResource Style1}"> <Setter Property="Control.Foreground" Value="Blue"/> </Style>
你们style2就是背景为yellow,前景为blue的样式了。
basedOn用法比较简单,BasedOn="{StaticResource Style1}"//指定以前样式的x:key就可以。但是前面举的例子么呀x:key属性,那就可以这样写:BasedOn="{StaticResource {x:Type TextBlock}}"
也可以通过编程方式来设置样式,比如
textblock1.Style = (Style)(this.Resources["TitleText"]);
使用xaml方式使用样式
Style="{StaticResource StyleName}"
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)