Possiedo un kit di strumenti: DataGrid (da Codeplex).Come posso applicare più stili XAML a un elemento?
Si sta cominciando ad avere molti stili diversi:
- uno per accenderlo e fuori sulla base di una variabile nel ViewModel
- uno per stile visivo
- uno per alcuni altri trigger, ecc .
fare tutte queste devono essere in un unico grande stile, è che l'unico modo per farlo? Oppure posso avere stili multipli e allegarli quando ne ho bisogno? Esiste comunque la possibilità di farlo in modo che tu possa, ad es. stili di scambio nel codice?
Stili:
<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-codice:
<toolkit:DataGrid
Style="{StaticResource CodePlexDataGridSwapper, ToolkitDataGridLayout}"
ItemsSource="{Binding Customers}"/>
+1 perché in qualche modo aiuta, ma non aiuta ancora nell'applicare/unire più di due insiemi di stili separati. Purtroppo, è abbastanza probabile che, ad eccezione della semi-ereditarietà basata sulla base, non c'è modo di applicarne "molti". La risposta – quetzalcoatl
può essere qui: http: //stackoverflow.com/questions/16096/how-to-apply-multiple-styles-in-wpf –