2
我总是被这些ComboBoxes完全运行。我想我理解他们,但似乎我不知道。ComboBox双向绑定不起作用
我不能给一个对象一个父母。所以我有这个子对象,它有一个父值的ID,我有一个父项的集合。
我从ComboBox中选择Parent,如果我理解正确,它的ID属性应该绑定到Child的ParentId属性。这看起来很好,当我选择它的财产结束。模板已更改,并且显示为文本块,一切正常。当模板突然回到组合框类型时,它是空的。它不应该在集合中找到Id对应于ParentId的可比项目吗?
下面是代码:
家长
public class Parent
{
private string _id;
public string Id
{
get
{
return _id;
}
set
{
_id = value;
OnPropertyChanged("Id");
}
}
private string _name;
public string Name
{
get
{
return _name;
}
set
{
_name = value;
OnPropertyChanged("Name");
}
}
}
儿童
public class RulesMainClassViewModel : ViewModelBase
{
private string _id;
public string Id
{
get
{
return _id;
}
set
{
_id = value;
OnPropertyChanged("Id");
}
}
private string _parentId;
public string ParentId
{
get
{
return _parentId;
}
set
{
_parentId = value;
OnPropertyChanged("ParentId");
}
}
private string _name;
public string Name
{
get
{
return _name;
}
set
{
_name = value;
OnPropertyChanged("Name");
}
}
}
XAML组合框
<ComboBox DisplayMemberPath="Name" SelectedValue="{Binding Path=ParentId, Mode=TwoWay}"
SelectedValuePath="Id" ItemsSource="{Binding Path=ParentCollection}" />
这是WPF中的错误它称为级联组合框的问题,如果你仔细注意,当itemssource发生变化时,不幸的是,组合框将SelectedIndex设置为-1,这会导致SelectedValue清除并松开其绑定。 – 2011-01-11 19:53:06
@Akash就是这样吗?这是在.Net中已经修复的东西4.我不相信ItemsSource在我的例子中已经改变。 – 2011-01-21 09:38:10