0

PropertyGrid のコンボボックス エディターをリストにバインドしようとしています。

<dxprg:PropertyGridControl SelectedObject="{Binding SelectedEmployee}">
     <dxprg:PropertyDefinition Path="EmployeeCountryID">
          <dxprg:PropertyDefinition.EditSettings>
               <dxe:ComboBoxEditSettings
                   ItemsSource="{Binding Path=DataContext.Countries, ElementName=rootWindow}"
                   ValueMember="CountryId" DisplayMember="CountryName" />                                                                  
          </dxprg:PropertyDefinition.EditSettings>
     </dxprg:PropertyDefinition>
</dxprg:PropertyGridControl>

この例はサードパーティ コントロールのものですが、問題は一般的なものである可能性があります。「rootWindow」DataContext はItemsSourceCombobox.

Combobox ItemsSource をrootWindow.DataContext.Countriesプロパティに設定してそのリストにアクセスしようとしましたが、データを取得できません。これらの RelativeSource FindAncestor バインディングもすべて試しましたが、データも表示されませんでした。

このような特定の要素の DataContext を介してバインドできないのはなぜですか?

4

1 に答える 1

0

これで解決しました。問題はバインディングにはまったくありませんでしたが、サードパーティ コントロールの定義方法に関連していました。EditSettings の代わりに、CellTemplate -> DataTemplate を定義する必要がありました。

于 2013-08-05T10:01:48.920 に答える