0

私は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>

助言がありますか?

ありがとう!

4

1 に答える 1

2

DataGrid タグの HeadersVisibility="None" を削除するだけです。その正常に動作します。

HeadersVisibility は依存プロパティです。値解決戦略があります。ローカル値は、トリガー値よりも優先されます。

ここに画像の説明を入力

ソース。詳細 はこちら

于 2013-01-21T10:29:35.667 に答える