我在不止一种类型的控件(TextBox 和 Xceed 的 LongUpDown / DoubleUpDown)之间共享了一个共同的样式。
该样式已命名(或键控?),我不希望它自动应用于目标类型的所有控件。
我不知道哪个是所有这些控件最接近的基本类型,所以我想我可以尝试将 TargetType 设置为 UIElement,但 VS 似乎无法识别它。
如何将 TargetType 设置为 UIElement?
风格:
<Style TargetType="TextBox" x:Key="TextFieldEntry">
<Setter Property="Background" Value="AliceBlue" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsDirty}" Value="True">
<Setter Property="BorderBrush">
<Setter.Value>
<SolidColorBrush Color="#FFF9D74B" />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsDirty}" Value="False">
<Setter Property="BorderBrush">
<Setter.Value>
<SolidColorBrush Color="#FF98F329" />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
控制:
Style="{StaticResource ResourceKey=TextFieldEntry}"