关于WPF的Style

梁苏彬 2008-11-20 12:22:10
在学WPF的style,有个问题很困惑,为什么大部分控件的style定义除了TargetTypexxx外还要写x:Key"{x:Typexxx}"?而button的style又不需要写x:Key。比如Menu和Button的style,在MSDN例子里写法分别是
<Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
...
</Style>

<Style TargetType="Button">
...
</Style>
...全文
335 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LorenLiu 2008-11-20
  • 打赏
  • 举报
回复
Mark一下
  • 打赏
  • 举报
回复
关注,帮顶。
梁苏彬 2008-11-20
  • 打赏
  • 举报
回复
2,3楼说的意思我明白。不过在我这个问题里x:Key="{x:Type Menu}"不是个自己起的名字,你们说的情况是这样的吧x:Key="MyKey",是自定义Style的ID。可这个{x:Type Menu}是什么意思呢?
shily_fly 2008-11-20
  • 打赏
  • 举报
回复
不了解,UP,支持。。。
shanying_0 2008-11-20
  • 打赏
  • 举报
回复
恩。楼上的正确。是这个意思。不要把他想的太复杂了。其实就那么点东西。
smbeng 2008-11-20
  • 打赏
  • 举报
回复
如果没有x:Key="{x:Type Menu}"
表示用于所有的Button
加上的话..可以指定到某些个Button使用,而未指定的是不会影响的...
hs1983 2008-11-20
  • 打赏
  • 举报
回复
不会,帮顶!
NeptuneGrass 2008-11-20
  • 打赏
  • 举报
回复
可以看下这个系列文章:
在WPF中自定义你的绘制
smbeng 2008-11-20
  • 打赏
  • 举报
回复
学习了..顶下..
LorenLiu 2008-11-20
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/ms742804.aspx

x:Key 的属性值可以是在 XamlName 语法中定义的任何字符串,也可以是通过标记扩展计算的对象。例如,x:Key 的值可以是 ComponentResourceKey。当某些控件公开可用于创建自定义样式资源的样式键,而这些资源会影响该控件的外观(而不是替换整个控件的样式)时,可以使用此处的方案。ButtonStyleKey 就是这样的一个键。

LZ的程序
<Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
...
</Style>
就是用的ComponentResourceKey

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧