2013-08-07 57 views
1

任何人都可以解釋爲什麼綁定不能用於ItemsControl的DisplaymemberPath?你能解釋爲什麼綁定不能用於ItemsControl的DisplayMemberPath嗎?

而我用Reflector DisplayMemberPath檢查ItemsControl只是依賴屬性,而且Bindable屬性只設置True。

XAML:

<ComboBox x:Name="display" DisplayMemberPath="{Binding NewAddress.TelePhone}" ItemsSource="{Binding Persons}"/> 

Person類:

public class Person 
{ 
    public Person() 
    { 
     persons = new ObservableCollection<NewAddress>(); 
     persons.Add(new NewAddress() { TelePhone = "MyNo" }); 
     persons.Add(new NewAddress() { TelePhone = "MyNo1" }); 
     persons.Add(new NewAddress() { TelePhone = "MyNo2" }); 
     persons.Add(new NewAddress() { TelePhone = "MyNo3" }); 
    } 

    private ObservableCollection<NewAddress> persons; 

    public ObservableCollection<NewAddress> Persons 
    { 
     get { return persons; } 
     set { persons = value; } 
    } 

} 

地址類:

public class NewAddress 
{ 
    public string TelePhone { get; set; } 
} 
+0

發佈您的數據項目。 (我猜的人類),以及地址類 –

+0

10如果您省略了DiplayMemberPath,您是否至少會獲得重複文本的行? – Paparazzi

+0

請看我編輯的問題。 – Ravuthasamy

回答

4

的DisplayMemberPath是該屬性的實際名稱,而不是對該屬性的綁定。將您的XAML代碼更改爲以下內容:

<ComboBox x:Name="display" DisplayMemberPath="TelePhone" ItemsSource="{Binding Persons}"/> 
+0

所以當我們設置綁定到DisplayMemberPath總是不工作? – Ravuthasamy

+1

@Ravuthasamy這是否解決了所述問題? – Paparazzi

相關問題