TargetType不适用于生成的控件?

时间:2017-02-21 09:27:01

标签: wpf styles

我尝试实现的是在运行时生成的按钮上自动设置样式。所以我想在不使用的情况下这样做:

dirButton.Style = (Style)Application.Current.FindResource("DirectoryStyle");

这是我在App.xaml中定义的样式(我删除了用于显示目的的setter):

<Style x:Key="DirectoryStyle" TargetType="{x:Type local:DirectoryButton}">
        <Setter Property="OverridesDefaultStyle" Value="true"/>
 </Style>

上述按钮是在启动时生成的,代表给定目录中的一个文件夹。

Directory Button dirButton = new DirectoryButton();

dirButton.Click += directoryButton_Click;
// Here I could set the style with the first code segment

简而言之: 有没有办法让TargetType影响生成的控件?

1 个答案:

答案 0 :(得分:0)

从Style声明中删除x:Key,使其成为TargetType的默认样式。

<Style TargetType="{x:Type local:DirectoryButton}">
    ...
</Style>