我有一个自定义控件库,其中我定义了一个控件模板,并使用了一些自定义样式。我的控件模板位于Generic.xaml文件中,它使用的样式也位于那里,并通过StaticResource标记扩展被控件模板访问。
在某些情况下,当我使用这个控件库时,我想要更改模板使用的一些样式,但我不知道该怎么做。
我认为如果我在窗口的资源字典中添加一个与模板使用的名称相同的样式,我的样式将“覆盖”在Generic.xaml文件中定义的样式,但这并没有起作用。
我该怎么办?
我有一个自定义控件库,其中我定义了一个控件模板,并使用了一些自定义样式。我的控件模板位于Generic.xaml文件中,它使用的样式也位于那里,并通过StaticResource标记扩展被控件模板访问。
在某些情况下,当我使用这个控件库时,我想要更改模板使用的一些样式,但我不知道该怎么做。
我认为如果我在窗口的资源字典中添加一个与模板使用的名称相同的样式,我的样式将“覆盖”在Generic.xaml文件中定义的样式,但这并没有起作用。
我该怎么办?
这个可以吗?
<Style TargetType="{x:Type YourCustomControl}"
BasedOn="{StaticResource {x:Type YourCustomControl}}">
<Setter Property="SomeStylePropertyOfYourCustomControl"
Value="{StaticResource SomeStyleYouWantToUseInstead}"/>
</Style>