2014-05-17 176 views
0

我遇到了數據綁定到組合框的問題。其他綁定工作正常。有人能告訴我我在這裏做錯了嗎?WPF數據綁定到組合框

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> 
+0

的樣子'Bank'和'BankBranch'類? – kmatyaszek

+0

簡單的類只有初始化器中的那些屬性在它們中。 – gawicks

回答

2

你應該綁定到屬性而不是字段。

在你的情況下,branches被聲明爲字段。

嘗試下面的代碼:

class Bank 
{ 
    public string bankcode { get; set; } 
    public string bankname { get; set; } 
    public ObservableCollection<BankBranch> branches { get; set; } 
} 
+0

好點!!!不知道我爲什麼掠過它 – gawicks

2

使branches屬性。它目前是一個領域。所有綁定必須通過屬性。