0
我遇到了WPF样式的问题。WPF样式仅适用于使用dataTrigger的根元素
在根用户控件我有这样定义的资源:
<UserControl.Resources>
<Style TargetType="{x:Type MyControl}">
<Setter Property="MyControl.AAA" Value="Value1" />
</Style>
</UserControl.Resources>
这一切正常,它会影响整个可视化树层次结构中的所有元素MyControl。
如果我试图更改使用DataTrigger设置器,像这样:
<UserControl.Resources>
<Style TargetType="{x:Type MyControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SelectedAAAValue}" Value="Value1">
<Setter Property="MyControl.AAA" Value="Value1" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=SelectedAAAValue}" Value="Value2">
<Setter Property="MyControl.AAA" Value="Value2"/>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
样式仅应用于特定类型MyControl的根元素。
任何人都可以解释为什么会发生这种情况吗?我如何通过DataTriggers将样式应用于所有特定元素?
非常感谢您的帮助。 Ondra
嗨克里斯蒂安,非常感谢,你排到我正确的方向上,必须的DependencyProperty被定义为继承,这样AAAProperty = DependencyProperty.Register( “AAA”, typeof运算(MyControl), typeof运算(ProjectiveControl) , 新的FrameworkPropertyMetadata( some_default_value,FrameworkPropertyMetadataOptions.Inherits)); –