Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为UserControl上的所有特定类型元素应用DataTrigger?_C#_Wpf_Datatrigger - Fatal编程技术网

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>

...
...

打开数据绑定的调试消息,并查看输出窗口以了解发生了什么