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

xamlのDataContextをクラスに設定しました。xamlでコンボボックスの内容をバインドする方法

この中にはPlayerというクラスがあります。 PlayerにはQuestsという別のオブジェクトのプロパティ配列があります。各Questにはnameというプロパティがあります。

コンボボックスのコンテンツをQuest配列にバインドするにはどうすればいいですか?各アイテムはnameプロパティで表されますか?

私はバインディングを使用する必要があると仮定しています。

+1

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

答えて

0
  1. から参照

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

    を次のように今、あなたは、XAMLでバインディングを設定します。このビューのDataContextは、あなたが何をする必要があるか、Questsというプロパティを持っていると仮定すると

  2. は次のとおりです。

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

ComboBoxItemsSourceプロパティを設定ItemsControlから派生し、そしてなどsuch-こと常にそのトリックを行います。

実際に興味のあるものを見るには、おそらくクエストアイテムのデータテンプレートを作成する必要があります。 This should get you started with Data Templates.

データテンプレートを作成したら、ItemTemplateプロパティを使用してコンボボックスに設定します(もう一度、ItemsControlの礼儀です)。

0

気にしないでください。他の誰が同じ問題を抱えていた場合はD

は::見つけた

は、あなたのウィンドウ/ページ内のFOOSと呼ばれるリストを持っていると仮定します。 FooにはプロパティNameがあります。声明DataContext="{Binding }"は、単にDataContextプロパティの現在の値をとり、それが、これは効果がありませんバック割り当てWPF Databinding combobox to a list<string>

関連する問題