gpt4 book ai didi

wpf - 当 SelectedItem 绑定(bind)到列表中不存在的内容时,取消选择所有项目

转载 作者:行者123 更新时间:2023-12-04 14:47:17 24 4
gpt4 key购买 nike

我有两个不同的列表 ItemsSource但与 SelectedItem绑定(bind)到同一个属性 - “ 名称 ”。

首先,我在右侧列表中选择项目“c”,因此左侧列表中的项目“c”也被选中。

比我在右侧列表中选择了另一个项目,但左侧列表中的“c”仍然被选中。
我理解它为什么这样做,但我可以让它取消选择正确列表中的“c”吗?

enter image description here

XAML:

 <Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>

<ListView SelectedItem="{Binding Name}" ItemsSource="{Binding lstNames1}"/>
<ListView SelectedItem="{Binding Name}" ItemsSource="{Binding lstNames2}" Grid.Column="1"/>
</Grid>

后面的代码:
 public partial class selected : Window
{
public ObservableCollection<string> lstNames1 { get; set; }
public ObservableCollection<string> lstNames2 { get; set; }

public string Name { get; set; }


public selected()
{
Names1 = new ObservableCollection<string> {"a1", "b1", "c"};
Names2 = new ObservableCollection<string> { "a2", "b2", "c" };
InitializeComponent();
DataContext = this;
}
}

最佳答案

如果您切换 SelectedItem绑定(bind)到 SelectedValue这将按照您的意愿行事,SelectedItem未清除,因为它未设置为 null因为另一个列表设置了一个值,SelectedValue行为有点不同,因为它必须找到一个项目,否则它将清除 SelectedItem在名单上。

<ListView SelectedValue="{Binding Name}" ItemsSource="{Binding lstNames1}" />
<ListView SelectedValue="{Binding Name}" ItemsSource="{Binding lstNames2}" Grid.Column="1"/>

希望这是有道理的:)

enter image description here
enter image description here

关于wpf - 当 SelectedItem 绑定(bind)到列表中不存在的内容时,取消选择所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14180705/

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