Wpf XAML:将样式应用于嵌套控件
在WPF Prism v4中,我有一个作为区域的工具栏。在这个区域中,我注入了UserControls,其中包含工具栏的按钮和分隔符。 问题在于,由于按钮现在位于用户控件中,工具栏样式不再适用 我可以通过定义样式来解决这个问题:Wpf XAML:将样式应用于嵌套控件,wpf,xaml,styles,Wpf,Xaml,Styles,在WPF Prism v4中,我有一个作为区域的工具栏。在这个区域中,我注入了UserControls,其中包含工具栏的按钮和分隔符。 问题在于,由于按钮现在位于用户控件中,工具栏样式不再适用 我可以通过定义样式来解决这个问题: <Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}"/> <Button Style="{StaticResource {x:Static ToolBar.Bu
<Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}"/>
<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/>
但我想避免这种情况,因为我有数百个按钮。所以我的问题是,我是否可以从资源字典中为工具栏下的所有按钮定义样式
谢谢大家! 您可以使用以下内容:
<Style TargetType="Separator" BasedOn="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" />
如果将其放入工具栏资源中,则它将应用于其中的任何按钮。将基本样式放入工具栏资源中:
<ToolBar>
<ToolBar.Resources>
<Style TargetType="{x:Type Button}"
BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/>
<Style TargetType="{x:Type Separator}"
BasedOn="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}"/>
</ToolBar.Resources>
...
</ToolBar>
...
code裸体和Marat Khasanov提到的相同技术也可以在默认工具栏样式中使用,因此您不必在本地重置它们
<Style TargetType="{x:Type ToolBar}">
<Style.Resources>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" />
<Style TargetType="{x:Type Separator}" BasedOn="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
</Style.Resources>
<!-- etc... -->
</Style>
我希望这是工具栏的默认行为,但我发现它需要明确的定义
希望有帮助。:) 这是否也适用于任何动态注入的视图?