我尝试实现的是在运行时生成的按钮上自动设置样式。所以我想在不使用的情况下这样做:
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影响生成的控件?
答案 0 :(得分:0)
从Style声明中删除x:Key
,使其成为TargetType的默认样式。
<Style TargetType="{x:Type local:DirectoryButton}">
...
</Style>