6

次のアプローチを使用して、アイテムのIsSelectedをプロパティにバインドしました。WPFListViewプログラムでアイテムを選択

<ListView.ItemContainerStyle>
    <Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</ListView.ItemContainerStyle>

これで、IsSelectedプロパティをtrueに設定するだけで、コードビハインドでアイテムを選択できるようになりました。ただし、アイテムのIsSelectedプロパティをfalseに設定しても、アイテムの選択を解除できません。

itemsプロパティIsSelectedをtrueに設定すると、ListViewSelectionChangedイベントがトリガーされます。ただし、すでに選択されているアイテムのプロパティIsSelectedをfalseに設定しても、イベントはトリガーされません。プロパティはfalseに変更されますが、アイテムはListView内で選択されたままになります。また、Mode=TwoWayを使用してみましたが成功しませんでした。

どんな種類の助けもいただければ幸いです!

事前にどうもありがとうございました、

トーマス

4

3 に答える 3

8

OPまたは「プログラムで」ListViewの選択を解除したい他の人のために。ListViewが単一、拡張、または複数として装備されている場合は、いつでも次のことができます。

YourlistView.Selecteditem = null;
于 2014-06-24T16:32:47.970 に答える
4

TargetTypeスタイルのが欠けているようです。ListViewItem以下のケントの元のコードに従って 、のターゲットタイプを追加します。

<ListView.ItemContainerStyle>         
    <Style TargetType="ListViewItem">             
        <Setter Property="IsSelected" Value="{Binding IsGroovy}"/>               
    </Style>   
</ListView.ItemContainerStyle> 
于 2012-08-28T17:50:56.110 に答える
2

または、これも使用できます。

YourlistView.UnselectAll();
于 2020-08-05T12:33:04.053 に答える