标签: datagridheaderborder

WPF DataGrid的DataGridHeaderBorder在哪里?

可能重复:
xaml样式中的WPF4 DataGridHeaderBorder

我在网上找到了WPF DataGrid的一些样式,所有这些样式都用于预发布的DataGrid.现在,我正在使用.NET4 DataGrid,我得到一个编译错误抱怨DataGridHeaderBorder无法找到.基于Microsoft,它位于Microsoft.Windows.Themes命名空间中.无论我尝试什么,我都无法使它发挥作用.

wpf datagrid styles datagridheaderborder

3
推荐指数
1
解决办法
5753
查看次数

xaml样式中的WPF4 DataGridHeaderBorder

提出一个单独的问题,与对WPF 4答案的评论有关:DataGridColumnHeader发生了什么?

看来我可以在UserControl中使用DataGridHeaderBorder,在ResourceDictionary中独立使用,但不能在Style的模板设置器中使用.

<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>
Run Code Online (Sandbox Code Playgroud)

如果我使用xmlns,我可以让它工作:dg ="http://schemas.microsoft.com/wpf/2008/toolkit",即使我没有在项目中引用WPFToolkit.我已经验证我已经设置为.NET4并引用了PresentationFramework v4.

谢谢你帮我删除了dg:hack.

wpf xaml wpfdatagrid wpf-4.0 datagridheaderborder

2
推荐指数
1
解决办法
5926
查看次数