ユーザーがListViewコントロール内のGridView列のサイズを変更できないようにするにはどうすればよいですか?
より迅速で簡単な答えをお探しの方に。
ColumnHeaderContainerStyleでIsEnabledをFalseに設定します。これにより、ユーザーのサイズ変更ができなくなります。
このような:
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
無効になっているグレー表示の色を修正する場合は、IsEnabledプロパティにトリガーを追加し、必要なものを修正します。
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</GridView.ColumnHeaderContainerStyle>
この回答は、他の投稿ほどエレガントではない可能性があります。しかし、私の場合、必要なのはそれをすばやく行う方法だけでした。
これが誰かを助けることを願っています。
Darkonektの答えは良いですが、IsHitTestVisible
ではなくIsEnabled
をfalseに設定する方が望ましい場合があります。これには、ヘッダーがグレー表示されないという利点があります。
<GridView.ColumnHeaderContainerStyle>
<Style BasedOn="{StaticResource {x:Type GridViewColumnHeader}}" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsHitTestVisible" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>