【发布时间】:2019-04-01 22:53:38
【问题描述】:
我有一个具有属性的主对象,每个对象都有自己的对象:
Package {
Name
Date
}
Document {
Name
Package1 = Package()
Package2 = Package()
Package3 = Package()
Package4 = Package()
}
现在在 WPF 数据网格中,我想将每一列绑定到 Document.PackageX 属性之一。但是 DataTemplate 中的 Name 绑定总是选择 Document.Name 而不是 Package.Name
<DataTemplate x:Key="MyCellTemplate">
<Border>
<TextBlock Text="{Binding Name}" /> # this is Package.Name property
</Border>
</DataTemplate>
<DataGrid ItemsSource="{Binding ListOfDocuments}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Package 1" CellTemplate="{StaticResource MyCellTemplate}"/>
<DataGridTemplateColumn Header="Package 2" CellTemplate="{StaticResource MyCellTemplate}"/>
<DataGridTemplateColumn Header="Package 3" CellTemplate="{StaticResource MyCellTemplate}"/>
<DataGridTemplateColumn Header="Package 4" CellTemplate="{StaticResource MyCellTemplate}"/>
</DataGrid.Columns>
</DataGrid>
如何将单元格模板的上下文设置为嵌套对象?
(为过度简化道歉,但我认为它更容易阅读并解释核心问题)
【问题讨论】:
-
如果您想深入了解嵌套模板,这篇文章可能会有所帮助。 stackoverflow.com/questions/2606948/…