我尝试实现的目标是在生成的运行时按钮自动设置A样式。因此,我想在不使用以下操作的情况下这样做:
dirButton.Style = (Style)Application.Current.FindResource("DirectoryStyle");
这是我在app.xaml中定义的样式(我为显示目的删除了设置器):
<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影响生成的控件?
从样式声明中删除 x:Key
,使其成为targetType的默认样式。
<Style TargetType="{x:Type local:DirectoryButton}">
...
</Style>