【发布时间】:2016-11-14 18:48:56
【问题描述】:
In this answer 它正在(正确地?似乎..)声称如果您省略 x:Name 属性,则样式会自动应用到任何地方。
如果您没有为每个样式指定标识符,则该样式将应用于与您指定的 TargetType 匹配的所有控件。如果你想让按钮看起来不同,你可以像上面一样做,但也包括那个样式的标识符,它将被每个不同的按钮使用:[...]
但是,当我添加 x:Name 标识符时,它应该不自动应用,还是应该?
因为当我尝试这个时:
<Style TargetType="{x:Type TextBlock}" x:Name="RunningTextStyle">
<Setter Property="FontSize" Value="15" />
</Style>
在我的ResourceDictionary 中以这种方式链接到我的app.xaml:
<Application.Resources>
<ResourceDictionary Source="ApplicationStyles.xaml" />
</Application.Resources>
它仍然会自动应用于所有TextBlocks。
如何创建必须与其标识符一起使用才能显示的样式?
我在 VS2015 中使用 Resharper,当我尝试以这种方式手动将样式添加到 TextBlock 时,x:Key 的名称甚至没有出现:Style="{StaticResource ...}" 定义是一种可能性(我曾经有过这种方式确实如此。它可以工作,但通常它是由 R# 或 VS 宣传的)。
有趣的是,我只剩下几个小时了,我的Button 样式没有自动应用。
【问题讨论】:
标签: c# wpf xaml resourcedictionary wpf-style