C# 如何为UserControl上的所有特定类型元素应用DataTrigger?
我有下一个用户控件:C# 如何为UserControl上的所有特定类型元素应用DataTrigger?,c#,wpf,datatrigger,C#,Wpf,Datatrigger,我有下一个用户控件: <UserControl ...> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="..." /> &l
<UserControl ...>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="..." />
</ResourceDictionary.MergedDictionaries>
<Style TargetType="{x:Type local:MyButton}" BasedOn="{DynamicResource MyButtonStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SmallButtons}" Value="True" >
<Setter Property="Margin" Value="4"/>
<Setter Property="FontSize" Value="8"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
...
<local:MyButton ..Style="{DynamicResource MyButtonStyle}" />
<local:MyButton ..Style="{DynamicResource MyButtonStyle}" />
<local:MyButton ..Style="{DynamicResource MyButtonStyle}" />
...
<local:MyButton ..Style="{DynamicResource MyButtonStyle}" />
</Grid>
</UserControl>
...
...
问题是
不起作用。什么是错误的以及如何使其工作
我希望触发器应用于这个网格上的所有MyButton
s
DataContext还可以,应用数据时会发生OnPropertyChanged事件,但我从未在SmallButtons get方法上获得断点。您正在将按钮的样式显式设置为名为“MyButtonStyle”的样式,因此基于“MyButtonStyle”的隐式样式不会被应用 尝试删除按钮元素的样式属性:
<Grid>
...
<local:MyButton />
<local:MyButton />
...
</Grid>
...
...
打开数据绑定的调试消息,并查看输出窗口以了解发生了什么