【发布时间】:2020-10-10 11:25:51
【问题描述】:
我有以下问题。我有这个模型:
public class A
{
public A(string id)
{
ID = id;
}
public string ID { get; }
public string Name { get ; set; }
public B objectB { get; set; }
}
public class B
{
public B(string id)
{
ID = id;
}
public string ID { get; }
public string Name { get; set; }
}
public class ViewModel
{
public ObservableCollection<A> ListOne = new ObservableCollection<A>();
public ObservableCollection<B> ListTwo = new ObservableCollection<B>();
public ViewModel()
{
B objectB = new B("1");
objectB.Name = "ObjectB";
B listElement2 = new B("2");
listElement2.Name = "ListElement2";
ListTwo.Add(objectB);
ListTwo.Add(listElement2);
A objectA = new A("A1");
objectA.Name = "objectA1";
objectA.objectB = objectB;
ListOne.Add(objectA);
}
}
<ListBox ItemsSource="{Binding ListOne}" Name="MyListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<ComboBox ItemsSource="{Binding ElementName=MyListBox, Path=DataContext.ListTwo}"
DisplayMemberPath="Name"
SelectedItem="{Binding objectB}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Class A 包含一个对象 ob Class B。
我的ViewModel 包含两个列表。 A 类对象的一个列表 (ListOne) 和第二个列表 (ListTwo) 包含 B 类的对象。
现在我想将listTwo 绑定到嵌入到listbox 中的combobox。 listbox 显示视图模型的listOne 中的所有对象。
如果我更改combobox 的选择,我想更新列表框所选项目的属性objectB。我还希望combobox 在初始化期间选择objectB 的值。
请注意:我简化了模型和视图模型以专注于问题。 NotifyProperties 等工作。我对组合框的绑定感兴趣。
我不知道这样做。我希望你能帮助我。
【问题讨论】:
-
你能发布你的 xaml 吗?
-
我添加了 xaml
-
当然还有 viewModel。
标签: c# wpf xaml combobox listbox