C# 如何将模板/数据模板添加到TableCell
我在谷歌上到处搜索,但没有找到任何真正有用的东西; 我的目的是为指定的C# 如何将模板/数据模板添加到TableCell,c#,xaml,templates,datatemplate,xmltable,C#,Xaml,Templates,Datatemplate,Xmltable,我在谷歌上到处搜索,但没有找到任何真正有用的东西; 我的目的是为指定的类显示指定的数据模板: <FlowDocumentScrollViewer> <FlowDocument> <Table BorderBrush="Black" BorderThickness="1" CellSpacing="0"> <Table.Columns>
类显示指定的数据模板
:
<FlowDocumentScrollViewer>
<FlowDocument>
<Table BorderBrush="Black" BorderThickness="1" CellSpacing="0">
<Table.Columns>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
</Table.Columns>
<Table.RowGroups>
<TableRowGroup >
<TableRow>
<TableCell>DataTemplate1</TableCell>//class1
<TableCell>DataTemplate2</TableCell>//class2
<TableCell>DataTemplate3</TableCell>//class3
<TableCell>DataTemplate4</TableCell>//class4
</TableRow>
</TableRowGroup>
</Table.RowGroups>
</Table>
</FlowDocument>
</FlowDocumentScrollViewer>
DataTemplate1//class1
DataTemplate2//class2
DataTemplate3//class3
DataTemplate4//class4
重要信息:它必须是仅限XAML的解决方案,因为我是根据XamlReader.load()
加载此XAML的,所以不会有代码隐藏文件。对于每个需要模板的类型,您可以在参考资料中的某个位置定义一个数据模板,其中只包含一个数据类型属性。要让它们显示出来,您需要将数据项绑定到单元格中的某个ContentControl。下面是一个int和bool模板以及集合项绑定的示例:
<FlowDocumentScrollViewer>
<FlowDocumentScrollViewer.Resources>
<DataTemplate DataType="{x:Type system:Int32}">
<TextBlock Text="{Binding StringFormat='A number: {0}'}" />
</DataTemplate>
<DataTemplate DataType="{x:Type system:Boolean}">
<TextBlock Text="{Binding StringFormat='A bool: {0}'}" />
</DataTemplate>
</FlowDocumentScrollViewer.Resources>
<FlowDocument>
<Table BorderBrush="Black"
BorderThickness="1"
CellSpacing="0">
<Table.Columns>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
<TableColumn></TableColumn>
</Table.Columns>
<Table.RowGroups>
<TableRowGroup>
<TableRow>
<TableCell>
<BlockUIContainer>
<ContentControl Content="{Binding MixedTypeList[0]}" />
</BlockUIContainer>
</TableCell>
<TableCell>
<BlockUIContainer>
<ContentControl Content="{Binding MixedTypeList[1]}" />
</BlockUIContainer>
</TableCell>
<TableCell>
<BlockUIContainer>
<ContentControl Content="{Binding MixedTypeList[2]}" />
</BlockUIContainer>
</TableCell>
</TableRow>
</TableRowGroup>
</Table.RowGroups>
</Table>
</FlowDocument>
</FlowDocumentScrollViewer>
真的没有更简单的方法吗?你觉得这有什么困难吗?你的答案没有什么困难,只是我跳到deni的许多复制粘贴,因为通常我像资源字典中的
那样绑定,所以我想我可以做类似的事情