目前我强制我的 WPF 应用程序使用 luna 主题无论如何,这个 XAML 代码
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles.xaml" />
<ResourceDictionary Source="NavigationCommands.xaml" />
<ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Blue.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Luna, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;;component/Themes/luna.normalcolor.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
现在我想用这个验证触发器扩展每个文本框的样式
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="Background" Value="#d3e1f3"></Setter>
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
但是这个触发器不起作用,因为我强制使用了 luna 主题。(没有强制主题,每件事都按应有的方式工作,但看起来却不应该:()有什么方法可以强制使用 luna 主题并扩展它的样式吗?可能在 BasedOn 属性上?
atm 我为有问题的样式定义了一个键,并手动将其添加到每个文本框中,这可行,但不是最漂亮的方法。
蒂亚