WPF中的Generic.xaml, theme以及custom control

本文介绍了WPF中Generic.xaml的作用,它是控制默认样式的资源字典,当主题风格文件找不到对应样式时,会查找Generic.xaml。对于自定义控件,可以使用DefaultStyleKeyProperty.OverrideMetadata改变默认样式。同时,通过ThemeInfo属性可以指示WPF在外部assembly寻找样式。文章提到了创建自定义Control的实践,并指出在UI库中使用Generic.xaml的好处:减少对外部引用,方便自定义控件获取默认样式。
摘要由CSDN通过智能技术生成
最近做的项目用了个漂亮的开源UI库,结果项目临近结尾发现要支持.Net 3.5, 然而那个UI库却最低支持4.0。欲哭无泪,最后决定拿掉那个库,自己改改style得了。深刻的教训。

作为程序员一般都比较害怕搞界面,这下硬着头皮上,折腾折腾Blend,抄抄改改各种style,弄着弄着居然能看懂个大概了。最后在自己建立的UI库项目中如何组织资源有了一些总结,进入正题:

“Generic.xaml” 早有耳闻,不清楚究竟有什么作用。这次Google之,stackoverflow上早已有人发问。What is so special about Generic.xaml?

第一个答案清晰明了。

Every Control in WPF has a default Style that provides, among other things, the Control's default ControlTemplate. WPF looks for the default style in a special resource dictionary in the Themes folder in the same assembly as the control. The key for the default style is provided by the Control.DefaultStyleKey dependency property, the default value of which is overridden in each sub-class of Contr

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF (Windows Presentation Foundation) generic.xaml 是用于定义控件样式和模板的文件。要在 generic.xaml 添加事件处理,可以按照以下步骤进行操作: 首先,打开 generic.xaml 文件,可以在 Visual Studio 找到该文件,通常位于项目的“Themes”文件夹。 在 generic.xaml 文件找到你想要添加事件处理的控件模板。一般来说,事件处理会放在控件模板内部的特定元素上,比如一个按钮或者一个鼠标悬停的区域。 找到相应的元素后,可以给它添加事件处理,具体的方法是在该元素的属性添加事件处理程序。比如,可以为该元素的 MouseLeftButtonUp 事件添加一个事件处理程序,代码示例可以是类似这样的: MouseLeftButtonUp="EventHandlerName",其 EventHandlerName 是你想要添加的事件处理程序的名称。 然后,可以在代码编写 EventHandlerName 方法,来处理该事件。需要注意的是,由于 generic.xaml 的控件模板是被多个实例共享的,所以在编写事件处理程序时要考虑到可能会涉及多个实例的情况。 最后,保存并关闭 generic.xaml 文件,然后重新编译项目以应用修改。 总的来说,在 generic.xaml 添加事件处理其实就是找到相应的控件模板元素,为其添加事件处理属性,并在代码编写相应的事件处理程序。通过这样的操作,就可以为控件模板元素添加一些交互行为,从而实现更丰富的用户界面效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值