2017-07-05 11 views
-1

ItemsSourceプロパティがCityタイプのICollectionViewにバインドされたコンボボックスがあります。WPF - ネストされたプロパティのDisplayMemberPath

次に、CityにはAddressNameStringを含むAddressプロパティが含まれています。

私はDispalyMemberPath AddressNameStringプロパティとして設定できますが、これは実現不可能なようです。

ではありませんか?いくつかの回避策がありますか?

答えて

1

ネストされたプロパティのパスにDisplayMemberPathを設定すると動作するはずです:

DisplayMemberPath="Address.AddressNameString" 

あなたはまた、代わりにDisplayMemberPathプロパティのItemTemplateプロパティを使用できます。

<ComboBox ItemsSource="{Binding Cities}"> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Address.AddressNameString}" /> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

は、プロパティが公開されていることを確認し、 XAMLでプロパティ名のスペルを間違えていないことを確認します。

+0

次に、プロパティ名のスペルが間違っている可能性があります。あなたのクラス定義を投稿してください。 – mm8

+1

私の間違いでした。あなたが正しいです。どうもありがとうございました。 – bit

関連する問題