У меня есть инструментарий: DataGrid (из Codeplex).
Он начинает иметь много разных стилей:
- один для включения и выключения на основе переменной в ViewModel
- один для визуального оформления
- один для некоторых других триггеров и т. Д.
Все ли это должно быть в одном большом стиле , это единственный способ сделать это? Или я могу иметь несколько стилей и прикреплять их по мере необходимости? Есть ли в любом случае сделать это, чтобы вы могли, например, обмен стилей в коде ?
Стили:
<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}"/>