gpt4 book ai didi

c# - SelectedItem 和 SelectedValue 返回错误的项目

转载 作者:行者123 更新时间:2023-12-03 10:46:09 25 4
gpt4 key购买 nike

我有 List<string> MyList有 4 个值。这些显示在 ComboBox控制。该绑定(bind)在我的 MVVM WPF 项目中完美运行。

我还有一个 string SelectedMyList它绑定(bind)到我的 XAML 并应该显示所选项目。我遇到的问题是,无论使用 SelectedItem SelectedValue ,它总是传递 MyList 中的第一项

private MyClass()//constructor
{
MyList = new List<string>() {"Hi", "Bye", "Hello", "See ya"};
}

private string _selectedMyList;
public string SelectedMyList
{
get
{
return this._selectedMyList;
}
set
{
//value is always Hi
if (this._selectedMyList== value)
return;

this._selectedMyList= value;
OnPropertyChanged("SelectedMyList");
}
}

private List<string> _myList;
public List<string> MyList
{
get
{
return this._myList;
}
set
{
if (this._myList== value)
return;

this._myList= value;
OnPropertyChanged("MyList");
}
}

还有我的 XAML
<ComboBox ItemsSource="{Binding MyList}" SelectedValue="{Binding SelectedMyList, UpdateSourceTrigger=PropertyChanged}" />

输出窗口中没有错误/绑定(bind)错误等。

为什么 SelectedItem/SelectedValue 没有通过我认为是 ComboBox 中的选定项?

最佳答案

这对我有用。

  private string _selectedMyList;
public string SelectedMyList
{
get
{
return this._selectedMyList;
}
set
{
//value is always Hi
if (this._selectedMyList != value)
{
this._selectedMyList= value;
OnPropertyChanged("SelectedMyList");
}
}
}

private List<ObservableCollection> _myList;
public ObservableCollection<string> MyList
{
get
{
return this._myList;
}
set
{
if (this._myList== value)
{
this._myList= value;
OnPropertyChanged("MyList");
}
}
}

xml:
<ComboBox ItemsSource="{Binding MyList}" 
SelectedItem="{Binding SelectedMyList}"
IsSynchronizedWithCurrentItem="True"/>

关于c# - SelectedItem 和 SelectedValue 返回错误的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701178/

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