私はあなたの条件を理解していれば、正しくおListBoxItem
コンテナのPreviewMouseLeftButtonDown
イベントを処理することができ、それがすでに選択されている場合は、それを選択解除:
<ListBox SelectionMode="Extended">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="OnMouseLeftButtonDown"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
</ListBox>
private void OnMouseLeftButtonDown(object sender, MouseEventArgs e)
{
ListBoxItem lbi = sender as ListBoxItem;
if (lbi != null)
{
if (lbi.IsSelected)
{
lbi.IsSelected = false;
e.Handled = true;
}
}
}
これは、あなたができることができるようにする必要がありますCTRL
キーを使用せずにアイテムの選択を解除します。
出典
2017-02-22 13:40:45
mm8
基本的に、選択したアイテムをクリックするとそのアイテムを選択解除する必要がありますか? – mm8
@ mm8はい。私の質問で十分に明確ではないと思うなら、それを自由に編集してください。残念ながら私は時には、実際にはそうではないものの、誰もが理解しやすいはずのものを感じます。 –