![](/img/trans.png)
[英]Should I use a single DataGrid, multiple DataGrids or something entirely different?
[英]Multiple DataGrids with different Resources?
我有兩個具有不同樣式和資源的DataGrids
,但是一個DataGrid
資源會覆蓋另一個DataGrid
資源。 所以我的問題是我可以使用例如x:Key
為DataGrid
設置特定資源嗎?
我的XAML代碼:
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Black"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Black"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="White"/>
</DataGrid.Resources>
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="{x:Static SystemColors.HighlightColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="{x:Static SystemColors.HighlightTextColor}"/>
</DataGrid.Resources>
我希望我能正確理解您的問題,關於如何使2個數據網格資源不相互沖突。 如果它們要放在同一文件中,則可以嘗試類似的操作...
<DataGrid.Resources>
<Style x:Key="DataGrid1Style" TargetType="{x:Type DataGrid}">
<Setter Property="......" Value="....." />
...
...
...
</Style>
<Style x:Key="DataGrid2Style" TargetType="{x:Type DataGrid}">
<Setter Property="......" Value="....." />
...
...
...
</Style>
</DataGrid.Resources>
如果它們不在同一個文件中,建議您創建一個資源字典文件,並在其中添加2種樣式,然后將其添加到您的App.xaml中,假設您擁有一個Resource文件夾> Styles文件夾>然后是DatagridStyles .xaml文件:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/DatagridStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
這使您可以全局訪問2種datagrid樣式
然后,您可以像這樣將樣式分配給您的數據網格...
<DataGrid Style="{StaticResource DataGrid1Style}">
</DataGrid>
<DataGrid Style="{StaticResource DataGrid2Style}">
</DataGrid>
讓我知道這個是否奏效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.