簡體   English   中英

具有不同資源的多個DataGrid?

[英]Multiple DataGrids with different Resources?

我有兩個具有不同樣式和資源的DataGrids ,但是一個DataGrid資源會覆蓋另一個DataGrid資源。 所以我的問題是我可以使用例如x:KeyDataGrid設置特定資源嗎?

我的XAML代碼:

第一個DataGrid.Resources:

<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:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM