我在我的应用程序中为一些特定的Textbox创建了一个样式,并将其放在我的App.xaml
内:
<Style x:Name="TextBoxStyle" TargetType="TextBox">
<Setter Property="Background" Value="Blue"/>
</Style>
执行此操作后,它会为我的应用程序中的每个文本框设置样式。我甚至没有在任何文本框上设置这种风格。
谁能告诉我为什么会这样?
答案 0 :(得分:4)
您需要指定x:Key
(并使用StaticResource
引用),否则由TargetType
使用,因此适用于所有TextBoxes
。
这是一种特殊的隐含行为,即如果Style
被定义为没有密钥的ResourceDictionary
的子项,TargetType
将被用作密钥。还有其他这样的隐含规则,例如DataTemplate
创建特殊的数据模板密钥,然后在适用的情况下隐式应用模板。