2017-02-21 30 views
0

我试图实现的是在运行时自动设置按钮的样式。所以我想这样做,而无需使用:TargetType在生成的控件上不起作用?

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的影响所产生的控制?

回答

0

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

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

谢谢,我的意思! – mjayd