Tôi có một bộ công cụ: DataGrid (từ Codeplex).Làm cách nào để áp dụng nhiều kiểu XAML cho một phần tử?
Người ta bắt đầu có nhiều phong cách khác nhau:
- một cho chuyển nó vào và tắt dựa trên một biến trong ViewModel
- một cho phong cách visual
- một cho một số trigger khác, vv .
Tất cả những thứ này cần phải ở trong một phong cách lớn, đó là cách duy nhất để làm điều đó? Hoặc tôi có thể có nhiều kiểu và đính kèm chúng khi tôi cần chúng không? Có cách nào để thực hiện việc này để bạn có thể, ví dụ: kiểu trao đổi trong mã?
Styles:
<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-code:
<toolkit:DataGrid
Style="{StaticResource CodePlexDataGridSwapper, ToolkitDataGridLayout}"
ItemsSource="{Binding Customers}"/>
+1 vì nó có phần giúp ích, nhưng nó vẫn không giúp áp dụng/sáp nhập nhiều hơn hai tập hợp kiểu riêng biệt. Unfortunatelly, nó là khá có thể xảy ra mà ngoại trừ đơn giản dựa trên bán thừa kế không có cách nào để áp dụng 'nhiều' của họ. – quetzalcoatl
câu trả lời có thể ở đây: http: //stackoverflow.com/questions/16096/how-to-apply-multiple-styles-in-wpf –