Mam zestaw narzędzi: DataGrid (z Codeplex).Jak mogę zastosować wiele stylów XAML do jednego elementu?
To zaczyna mieć wiele różnych stylów:
- jeden do przełączania go i wyłączanie w oparciu o zmienną w ViewModel
- jednym dla stylizacji wizualnej
- jednym dla niektórych innych wyzwalaczy, etc
Czy wszystkie te elementy muszą być w jednym stylu jeden wielki styl, czy to jedyny sposób na zrobienie tego? Czy mogę mieć wiele stylów i dołączyć je tak, jak ich potrzebuję? Czy mimo to można to zrobić, aby można było np. zamienia style w kodzie?
Style:
<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>
pseudo-kod:
<toolkit:DataGrid
Style="{StaticResource CodePlexDataGridSwapper, ToolkitDataGridLayout}"
ItemsSource="{Binding Customers}"/>
+1, ponieważ nieco pomaga, ale nadal nie pomaga w stosowaniu/łączeniu więcej niż dwóch osobnych zestawów stylów. Niestety, jest całkiem prawdopodobne, że oprócz prostego opartego na połowie dziedziczenia nie ma możliwości zastosowania "wielu" z nich. – quetzalcoatl
odpowiedź może być tutaj: http: //stackoverflow.com/questions/16096/how-to-apply-multiple-styles-in-wpf –