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