2014-05-17 3 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. 현재 필드입니다. 모든 바인딩은 속성을 통해 이루어져야합니다.

관련 문제