6
我有一个工具包:DataGrid(来自Codeplex)。如何将多个XAML样式应用于一个元素?
它开始有许多不同的样式:
- 一个用于接通和关断它基于用于视觉样式
- 一个用于一些其他触发器等的视图模型
- 一个可变
做所有这些都需要在一大风格,这是唯一的方法吗?或者我可以有多种款式并附加他们,因为我需要他们?无论如何要做到这一点,以便您可以交换风格代码?
样式:
<Style x:Key="CodePlexDataGridSwapper" TargetType="toolkit:DataGrid">
<Style.Triggers>
<DataTrigger Binding="{Binding WhichGrid}" Value="Infragistics">
<Setter Property="toolkit:DataGrid.Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ToolkitDataGridLayout" TargetType="toolkit:DataGrid">
<Setter Property="Background" Value="Yellow"/>
</Style>
伪代码:
<toolkit:DataGrid
Style="{StaticResource CodePlexDataGridSwapper, ToolkitDataGridLayout}"
ItemsSource="{Binding Customers}"/>
+1因为它有点帮助,但它仍然不能帮助应用/合并两个以上的独立样式集合。不幸的是,除了基于简单的半继承之外,很可能没有办法应用它们中的“很多”。 – quetzalcoatl 2013-04-06 13:46:13