Явный DataGrid CellStyle Setter переопределяется неявным стилем ячейки в том же контексте? - PullRequest
1 голос
/ 29 сентября 2010

У меня странная проблема с DataGrid в WPFToolkit (.NET 3.5) и встроенной версией в .NET 4.0:

При создании ключевого стиля DataGrid с явным установщиком для CellStyle другого ключевого стиля он работает как подозревается. Но при создании стиля без ключа для DataGridCell он переопределит явный CellStyle -setter в DataGrid -стиле. Это кажется неправильным. Это по замыслу или это ошибка?

<Window.Resources>
    <Style TargetType="DataGridCell">
        <Setter Property="Background" Value="Blue" />
    </Style>
    <Style x:Key="CellStyle1" TargetType="DataGridCell">
        <Setter Property="Background" Value="Green" />
    </Style>
    <Style TargetType="DataGrid">
        <Setter Property="Background" Value="Yellow" />
        <Setter Property="CellStyle" Value="{StaticResource CellStyle1}" />
    </Style>
    <XmlDataProvider x:Key="xmldata" XPath="data/*">
        <x:XData>
            <data xmlns="">
                <item1 />
                <item2 />
                <item3 />
            </data>
        </x:XData>
    </XmlDataProvider>
</Window.Resources>
<Grid>
    <DataGrid ItemsSource="{Binding Source={StaticResource xmldata}}" />
</Grid>

1 Ответ

0 голосов
/ 13 августа 2011

Это работает:

<DataGrid ItemsSource="{Binding Source={StaticResource xmldata}}" 
          CellStyle="{StaticResource CellStyle1}" />

Кажется, что стиль без ключа Datagrid слабее, чем стиль без ключа DataGridCell. Это довольно странно, но это немного сложный вопрос: мать без ключей против ребенка без ключей, кто должен победить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...