我在把数据绑定到组合框上有问题。其他绑定也很好。有人能告诉我我在这里做错了什么吗。
class Bank
{
public string bankcode{get; set;}
public string bankname { get; set; }
public ObservableCollection <BankBranch> branches;
}
class BankBranch
{
public string branchcode { get; set; }
public string branchname { get; set; }
}
Bank b = new Bank{
bankcode="1",
bankname="Bank1",
branches = new ObservableCollection<BankBranch>(){
new BankBranch(){branchcode="11", branchname="Location1"},
new BankBranch(){branchcode="11", branchname="Location12"}
},
};
bankpanel.DataContext = b;
<StackPanel x:Name="bankpanel">
<StackPanel Orientation="Horizontal">
<TextBlock >Bank Code</TextBlock>
<TextBox Text="{Binding bankcode}" Width="100"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock >Bank Name</TextBlock>
<TextBox Text="{Binding bankname}" Width="100"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock >Bank Branches</TextBlock>
<ComboBox ItemsSource="{Binding branches}" DisplayMemberPath="branchname"
SelectedValuePath="branchname"
Width="100">
</ComboBox>
</StackPanel>
</StackPanel>发布于 2014-05-17 20:07:30
您应该绑定到属性,而不是字段。
在您的示例中,branches被声明为字段。
尝试使用以下代码:
class Bank
{
public string bankcode { get; set; }
public string bankname { get; set; }
public ObservableCollection<BankBranch> branches { get; set; }
}发布于 2014-05-17 20:07:28
使branches成为一个属性。它目前是一个领域。所有绑定必须通过属性。
https://stackoverflow.com/questions/23715535
复制相似问题