gpt4 book ai didi

c# - 在列表框中使用 SelectionChanged 取消选择项目时遇到问题

转载 作者:行者123 更新时间:2023-11-30 20:58:52 25 4
gpt4 key购买 nike

我有两个彼此相邻的列表框。在 XAML 文件中,它看起来像这样:

<ListBox Name="first_box" ItemsSource="{Binding Path=Firstlist}"  
DisplayMemberPath="name" SelectionMode="Single"
SelectionChanged="Firstlist_SelectionChanged"/>
<ListBox Name="second_box" ItemsSource="{Binding Path=SecondList}"
DisplayMemberPath="name" SelectionMode="Single"
SelectionChanged="Secondlist_SelectionChanged"/>

我想做的是当一个 ListBox 中的一个项目被选中时,另一个 ListBox 应该失去它的选择。但我认为丢失该选择会再次触发 SelectionChanged,从而删除另一个 ListBox 中的选择,然后继续......

我该如何解决这个问题?

最佳答案

一种解决方案是测试所选项目是否为空:

Firstlist_SelectionChanged(object o, EventArgs e)
{
if(first_box.SelectedItem != null)
{
second_box.SelectedItem = null;
}
}

Secondlist_SelectionChanged(object o, EventArgs e)
{
if(second_box.SelectedItem != null)
{
first_box.SelectedItem = null;
}
}

初始情况:

Box1 => Item1
Box2 => null

点击 Box2 中的项目

Box1 => Item1
Box2 => Item2 => Event fire

Box2 是否为空?否,所以将 Box1 设置为 null

Box1 => null => Event fire
Box2 => Item2

Box1 是否为空?是的,没有行动。
最终情况:

Box1 => null
Box2 => Item2

关于c# - 在列表框中使用 SelectionChanged 取消选择项目时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com