2016-12-13 48 views
0
<ComboBox Grid.Row="1" Margin="0,0,0,175" DataContext="{Binding }" /> 

我已將xaml的DataContext設置爲類。如何綁定xaml中的組合框的內容

在此我有一個類叫做Player。玩家有一個名爲Quests的另一個對象的屬性數組。每個Quest都有一個name屬性。

如何將組合框的內容綁定到Quest數組,並讓每個項目由其name屬性表示?

我假設我將不得不使用綁定

+1

[WPF ComboBox binding ItemsSource]的可能重複(http://stackoverflow.com/questions/28373643/wpf-combobox-binding-itemssource) – Andy

回答

0
  1. 聲明DataContext="{Binding }"簡單地取DataContext屬性的當前值,並賦予它背這個不會有任何效果引用。

  2. 假設這種觀點的DataContext有一個名爲Quests屬性,你需要做的是:

    <ComboBox Grid.Row="1" Margin="0,0,0,175" ItemsSource="{Binding Quests}" /> 
    

注意ComboBoxItemsControl派生,並作爲such-設置ItemsSource財產將永遠做的伎倆。

您可能需要爲任務項目創建數據模板才能看到實際感興趣的內容。 This should get you started with Data Templates.

創建數據模板後,使用ItemTemplate屬性(再次提供ItemsControl)將其設置爲組合框。

0

沒關係。發現:d

如果任何人有同樣的問題:

假設你有一個在你的窗口/頁稱爲FOOS名單。 Foo有一個屬性名稱。現在你設置如下XAML中的綁定:

<ComboBox ItemsSource="{Binding Path=Foos}" 
DisplayMemberPath="Name" 
SelectedValuePath="Name" 

WPF Databinding combobox to a list<string>