Wpf4 DataGridHeaderBorder в стиле xaml
Отдельный вопрос, связанный с комментариями к ответу на 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 В4.
Спасибо, что помогли мне удалить DG: hack.
3 ответа:
Попробуйте:
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
Вы также можете попробовать this.In в этом случае необходимо изменить передний план заголовка.
<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>