给定一个绑定到如下定义的视图模型的用户控件
class MyViewModel
{
public DataView MyView { get; set; }
public DataView MyTypes { get; set; }
}
XAML大致标记如下
<Grid>
<dxg:GridControl AutoPopulateColumns="True" Name="gridControl1" ItemsSource="{ Binding MyView}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="col1">
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<dxe:ComboBoxEdit Name="cmbTypes"
ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type UserControl}},
Path=ViewModel.MyTypes}"/>
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="col2"/>
<dxg:GridColumn FieldName="col3" Width="75"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView Name="tableView1" AutoWidth="True" ShowTotalSummary="True" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
绑定如下
internal MyViewModel ViewModel
{
get { return (MyViewModel)DataContext; }
set { DataContext = value; }
}
当然 ComboBox 不显示 ListTypes 的选择,它确实有值
问题是 - 如何从 Grid.Column 引用 ViewModel 的 ListTypes 属性,其中 Grid 绑定到没有属性 ListTypes 的 DataView MyItems,与 ListTypes 处于同一级别!!!
任何帮助表示赞赏