[解決済み] WPF ListViewの選択範囲オフ
質問
WPFの選択範囲をオフにすることは可能でしょうか?
ListView
の選択をオフにして、ユーザーが行をクリックしたときに、行がハイライトされないようにすることは可能ですか?
1行目をクリックしたときに0行目と同じように見えるようにしたいのですが。
関連する可能性があります: ホバー/選択の外観をスタイルすることができますか? たとえば、青いグラデーションのホバー ルック (行 3) をカスタム ベタ色に置き換えることができます。私は この と この などがありますが、残念ながら役に立ちません。
(ListViewを使わずに同じことを実現するのもOKです。ただ、ListViewのように論理スクロールやUI仮想化を使えるようにしたいです)
ListViewのXAMLは。
<ListView Height="280" Name="listView">
<ListView.Resources>
<!-- attempt to override selection color -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightColorKey}"
Color="Green" />
</ListView.Resources>
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
<!-- more columns -->
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
どのように解決するのですか?
Martin Konicek のコメントに従って、最も簡単な方法で、項目の選択を完全に無効にします。
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Focusable" Value="false"/>
</Style>
</ListView.ItemContainerStyle>
...
</ListView>
しかし、ListViewの機能、例えば項目を選択する機能が必要な場合、以下のように選択された項目のスタイルを視覚的に無効にすることができます。
これを行うには、ListViewItemの ControlTemplate を変更する方法から、単にスタイルを設定する方法(より簡単)まで、さまざまな方法でこれを行うことができます。 ListViewItems のスタイルを作成するには、リストビューの を使用します。 ItemContainerStyle を使用してListViewItemsのスタイルを作成し、それが選択されたときに背景とボーダーブラシを「オフにする」ことができます。
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="Background"
Value="{x:Null}" />
<Setter Property="BorderBrush"
Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
...
</ListView>
また、項目が選択されたときにユーザーに通知する他の方法がない限り(または単にテストのため)、値を表すカラムを追加することができます。
<GridViewColumn Header="IsSelected"
DisplayMemberBinding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />
関連
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] ラジオボタンをenumにバインドするには?
-
[解決済み] スクロールすると背景のListViewが黒くなる
-
[解決済み] ユーザーコントロールライブラリーとカスタムコントロールライブラリーの違いは何ですか?
-
[解決済み] WPF: グリッドに列/行のマージン/パディングを設定できますか?
-
[解決済み] WPF Numeric UpDownコントロールはどこにありますか?
-
[解決済み] Prism for WPFとは?
-
[解決済み] グリッドカラムの幅・高さを設定する際の「Auto」と「*」の違いは何ですか?
-
[解決済み] ViewModelLocatorとは何ですか?また、DataTemplatesと比較した場合の長所と短所は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ラジオボタンをenumにバインドするには?
-
[解決済み] StackPanelの子パネルが下方向に最大限のスペースを埋めるようにするには?
-
[解決済み] ユーザーコントロールライブラリーとカスタムコントロールライブラリーの違いは何ですか?
-
[解決済み] wpf: ボタンがコマンドによって無効にされたとき、ツールチップを表示する方法は?
-
[解決済み] WPF TemplateBindingとRelativeSource TemplatedParentの比較
-
[解決済み] WPF Numeric UpDownコントロールはどこにありますか?
-
[解決済み] 16進数の色値からSolidColorBrushを作成する
-
[解決済み] WPFのキーボードショートカット
-
[解決済み] ItemsControlの仮想化?
-
[解決済み] データバインディングでWPFハイパーリンクのテキストを設定するにはどうすればよいですか?