动态显示/隐藏WPF DataGrid标题列

时间:2013-01-21 10:01:20

标签: wpf wpfdatagrid datagridcolumnheader

我正在使用VS 2010.我想仅在网格鼠标上显示Datagrid标题。我写了下面的代码,但它没有用。

<StackPanel>
  <DataGrid  ItemsSource="{Binding SelectedItemsCollectionView}"
      AutoGenerateColumns="False" CellStyle="{StaticResource CellStyle}" 
      GridLinesVisibility="None"  RowHeight="28" HeadersVisibility="None"  
      ClipToBounds="True" AllowDrop="True" >
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=DisplaySequence}"/>
        </DataGrid.Columns>
        <DataGrid.Style>
            <Style TargetType="DataGrid">
                <Setter Property="HeadersVisibility" Value="None" />
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="HeadersVisibility" Value="Column" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </DataGrid.Style>
    </DataGrid>
</StackPanel>

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

在DataGrid标记中删除HeadersVisibility =“None”。工作正常。

HeadersVisibility是一个依赖属性。它们具有值解析策略。 与触发值相比,本地值具有更多优先级。

enter image description here

源。有关详细信息see here