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 已设置为一个 ViewModel,它包含一个我想要的属性 List(of Country),如ItemsSource.Combobox

我试图通过将 Combobox ItemsSource 设置为该rootWindow.DataContext.Countries属性来访问该列表,但我没有得到任何数据。还尝试了所有那些 RelativeSource FindAncestor 绑定,但也没有出现任何数据。

为什么我不能像这样通过给定元素的 DataContext 绑定?

4

1 回答 1

0

这解决了。问题根本不在于绑定,而在于我如何定义第三方控件:而不是 EditSettings,我应该定义 CellTemplate -> DataTemplate。

于 2013-08-05T10:01:48.920 回答