WPF4 DataGridHeaderBorder в стиле xaml - PullRequest
2 голосов
/ 29 июля 2010

Создание отдельного вопроса, связанного с комментариями к ответу на WPF 4: Что случилось с DataGridColumnHeader?

Похоже, я могу использовать DataGridHeaderBorder в UserControl, автономно вResourceDictionary, но не в установщике стиля шаблона.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    >

    <!-- Works -->
    <DataTemplate x:Key="yomama">
        <DataGridColumnHeader />
    </DataTemplate>

    <!-- Compile Error: error MC3074: The tag 'DataGridHeaderBorder' does not exist in XML namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'. -->
    <Style x:Key="{x:Type DataGridRowHeader}"
        TargetType="{x:Type DataGridRowHeader}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type DataGridRowHeader}">
                    <Grid>
                        <DataGridHeaderBorder></DataGridHeaderBorder>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Я могу заставить его работать, если использую xmlns: dg = "http://schemas.microsoft.com/wpf/2008/toolkit",, даже если я не ссылаюсь на WPFToolkit в проекте.Я подтвердил, что настроен на .NET4 и ссылаюсь на PresentationFramework v4.

Спасибо за помощь в удалении хака dg:

.

Ответы [ 3 ]

8 голосов
/ 24 января 2011

Попробуйте:

xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
2 голосов
/ 15 декабря 2011

Вы также можете попробовать это. В этом случае изменить передний план заголовка.

<Style x:Key="Consulta_Grilla_HeaderStyle" 
       TargetType="{x:Type DataGridColumnHeader}">
    <Style.Resources>
        <Style TargetType="{x:Type Grid}" >
            <Setter Property="TextBlock.Foreground" Value="Yellow"/>      
        </Style>
    </Style.Resources>
</Style>
0 голосов
/ 16 сентября 2015

Добавьте PresentationFramework.Aero.dll в ссылку на ваш проект.

...