在WPF UserControl上应用样式的问题

我有一个用户控件,我想在其他项目中使用它。 当我直接为其属性设置一些值时没有问题:

 ...  

但我无法应用它的风格。 我试过了:

          ...    

我哪里错了? -谢谢

使用亲爱的@Mario Vernari的指示,我发现问题是由于我用来创建UserControl的糟糕策略造成的。 我想创建一个能够容纳其他一些的UserControl。 所以我试过这个:

   ...    

其中DP1Brush类型的依赖属性。 通过这种方式创建的UserControl可以直接设置其属性(如DP1 )。 当@Mario告诉我时,这绝对不是真正的方式:

…当您使用UserControl时,这意味着您已经知道其布局,并且无需进一步设置控件的样式。 你正在同时定义它的风格两次因此导致碰撞……

他补充说:

相反,你应该使用CustomControl; 在Themes文件夹中定义默认样式(如果您拥有常规Visual Studio,则会自动生成)。 之后,您可以覆盖自己应用中的默认样式。 以与普通基类及其派生类似的方式。

请关注: http : //www.codeproject.com/KB/WPF/WPFCustomControl.aspx …

显然,在这种情况下,我们需要从ContentControl类(而不是Control类)派生我们的无形控件。 你可以看看这个和这个来掌握细节。

在这里,我再次感谢@Mario。 ;)

您正在给Style="{StaticResource ResourceKey=MyUserControlStyle}"

它只是 – Style="{StaticResource MyUserControlStyle}"