我有两个DataGrids
具有不同的样式和资源,但是一个DataGrid
资源会覆盖另一个DataGrid
资源。
所以我的问题是我可以将特定资源设置为DataGrid
,例如x:Key
吗?
我的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>
答案 0 :(得分:0)
我希望我能正确理解你的问题,关于你希望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中,假设您有一个资源文件夹&gt;样式文件夹&gt;然后你的DatagridStyles.xaml文件:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/DatagridStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
这使您可以全局访问2个数据网格样式
然后,您可以将样式分配给数据网格,如下所示......
<DataGrid Style="{StaticResource DataGrid1Style}">
</DataGrid>
<DataGrid Style="{StaticResource DataGrid2Style}">
</DataGrid>
让我知道这是否有效