2010-09-26 117 views
64

我一直與組合框屬性困惑與WPF組合框的DisplayMemberPath,的SelectedValue和SelectedValuePath

  1. 的DisplayMemberPath
  2. 的SelectedValue
  3. SelectedValuePath

我建立一個主從表單掙扎。

  1. 組合框充滿了客戶
  2. 用戶選擇組合
  3. 一個客戶
  4. 所有文本框EG填充正確

我有我已工作,但這個問題我不明白這些屬性和差異。 有沒有解釋他們做什麼的不好的例子?你可能會認爲是自我解釋。不要對我不利。

感謝您的輸入

回答

135

我認爲我們可以更好地理解這種用一個例子。看到這個類:

public class Employee 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

和下面的XAML代碼:

<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Id"/> 

DisplayMemberPath指向Name屬性,所以在包含在下拉列表中ComboBoxEmployee項顯示的值,將Employee對象的Name屬性。

要了解另外兩個,您應該先了解SelectedItemSelectedItem將從ComboBox返回當前選擇的Employee對象。您也可以將SelectedItemEmployee對象一起分配給ComboBox中的當前選擇。

SelectedValuePathId,這意味着你可以使用SelectedValue獲取當前的選擇EmployeeId。您也可以通過將SelectedValue設置爲Id(我們假設其將出現在Employees列表中)來設置ComboBox中當前選擇的Employee

+0

感謝您的回覆。更清晰! – user451259 2010-09-26 16:45:26

+8

這是最簡潔,最容易理解我見過的這些概念的解釋。 – JoelWilson 2014-03-13 22:15:51

+1

注意:這個示例不起作用,因爲'Id'和'Name'必須是屬性,而不是類字段。 – Shorstok 2016-08-04 11:04:10

相關問題