26

ユーザーが ListView コントロールで GridViewColumns のサイズを変更できないようにするにはどうすればよいですか?

4

5 に答える 5

34

より迅速で簡単な答えを探している人向け。

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>

この回答は、他の投稿ほどエレガントではないかもしれません。しかし、私の場合、必要なのはそれを行う簡単な方法だけでした。

これが誰かに役立つことを願っています。

于 2013-06-18T05:22:32.723 に答える
15

私は解決策を見つけました、そしておそらくそれはいつか他の誰かを助けるでしょう;)

GridViewColumnHeader の ControlTemplate (デフォルトのテンプレートはこちら) をオーバーライドし、テンプレートからPART_HeaderGripperを削除して、列のサイズ変更を防ぐ必要があります。

here で説明されている GridViewColumn をサブクラス化する別のソリューションがあります。表現の目的で、私はxamlのみのソリューションを好みます

于 2008-10-08T10:30:27.913 に答える
-2

この投稿の指示で同様のことができました

http://blogs.msdn.com/b/atc_avalon_team/archive/2006/04/11/573037.aspx

私は完全な XAML ソリューションを使用できませんでした。コード ビハインドのダイナミクスのためにすべてをビルドしていたからです。最初の試みでうまくいきました。

于 2010-08-10T12:55:38.607 に答える