我的UserControl
设计为DataContext
:
d:DataContext="{d:DesignInstance designtime:DesignViewModel, IsDesignTimeCreatable=True}"
它工作得很好。现在我DataGrid
个ItemsSource
绑定到某些具有特定类型的集合。
我的问题是DataGridColumn
。例如:
<DataGrid ItemsSource="{Binding OrderedPositions}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding PositionDefinitionId}" />
我认为当我有ItemsSource="{Binding OrderedPositions}"
时,很明显,PositionDefinitionId
是PropertyItem
集合的OrderedPositions
。但事实并非如此。
现在我必须在每个d:DesignInstance
中明确设置DataGridColumn
!但那不是一个好的解决方案:
<DataGridTextColumn Binding="{Binding PositionDefinitionId}"
d:DataContext="{d:DesignInstance system:Position,
IsDesignTimeCreatable=True}" />
在哪个位置是OrderedPositions
集合的特定类型。有办法解决这个问题吗?这样我就不必在每列中明确设置d:DataContext
了吗?
答案 0 :(得分:1)
如果您明确地为DataTemplate
的{{1}}实施CellTemplate
,那么您将能够定义设计时间实例,例如以下示例适用于telerik GridViewDataColum(事实上它与telerik示例无关):
DataGridTextColumn