2016-11-23 78 views
0

說我要填寫簡單的Employee對象列表的組合框...動態更改組合框的DisplayMemberPath?

public class Employee 
{ 
    private int ID { get; set; } 
    public string Name { get; set; } 
    public string Department { get; set; } 
    public string Project { get; set; } 

} 

,然後通過綁定像這樣的XAML列表...

  <ComboBox ItemsSource="{Binding EmployeeList}" 
         SelectedValue="{Binding SelectedEmployee}" 
         DisplayMemberPath="Project"/> 

現在我可以用這ComboBox查找並按項目選擇員工記錄。但是,如果員工目前沒有與他們關聯的項目,我還希望能夠按名稱或部門查找記錄(使用相同的組合框和綁定),如果我願意的話。關於如何實現將改變DisplayMemberPath值的任何想法,就像我上面描述的那樣?

回答

0

DisplayMemberPath只是a string property。在您的視圖模型中綁定它。

<ComboBox ... 
    DisplayMemberPath="{Binding DispMemberPath}" 
/> 

視圖模型...

private string _DispMemberPath; 
public string DispMemberPath 
{ 
    get {return _DispMemberPath; } 
    set { _DispMemberPath= value; RaiseNotifyPropertyChanged(); } 
} 

private void SetDepartmentAsPath() 
{ 
    this.DispMemberPath = "Department"; 
} 
相關問題