我如何继承DataGridColumns

汤姆

在资源中写了UserControl两个DataTemplates

数据模板1

 <DataTemplate x:Key="Template1">
    <DataGrid ItemsSource="{Binding}" SelectionChanged="DataGridSelectionChanged">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="FilePath" Width="Auto" SortMemberPath="FilePath">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FilePath}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="FileSize" Width="Auto" SortMemberPath="FileSize">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FileSize}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
</DataTemplate> 

数据模板2

 <DataTemplate x:Key="Template2">
    <DataGrid ItemsSource="{Binding}" SelectionChanged="DataGridSelectionChanged">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="FilePath" Width="Auto" SortMemberPath="FilePath">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FilePath}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="FileSize" Width="Auto" SortMemberPath="FileSize">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FileSize}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="FileCreator" Width="Auto" SortMemberPath="FileCreator">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FileCreator}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="FileCreated" Width="Auto" SortMemberPath="FileCreated">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock  Padding="4,1" Text="{Binding FileCreated}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
</DataTemplate> 

随着DataTemplateSelector我决定哪些DataTemplate应该被使用。一切都很好。

但是如您所见,DataTemplate2具有与DataTemplate1相同的两个单元格,另外还有两个单元格。这只是一个小例子。在我的应用程序中,DataTemplate1大约有15列。有了DataTemplate2,还有另外10列。

现在我的问题是:是否有可能我可以从DataGrida内的另一个列继承(或如此)DataTemplate并添加其他列?

阿亚潘(Ayyappan)Subramanian

您可以将列添加为资源,并在DataGrid中将它们引用为资源。确保将它们标记为x:Shared为false,以避免发生冲突。请参考下面的代码。

 <DataGridTemplateColumn x:Key="FilePath" x:Shared="False" Header="FilePath" Width="Auto" SortMemberPath="FilePath">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock  Padding="4,1" Text="{Binding FilePath}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    <DataGridTemplateColumn x:Key="FileSize" x:Shared="False" Header="FileSize" Width="Auto" SortMemberPath="FileSize">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock  Padding="4,1" Text="{Binding FileSize}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    <DataTemplate x:Key="Template1">
        <DataGrid ItemsSource="{Binding}" SelectionChanged="DataGridSelectionChanged">
            <DataGrid.Columns>
                <StaticResource ResourceKey="FilePath"/>
                <StaticResource ResourceKey="FileSize"/>
            </DataGrid.Columns>
        </DataGrid>
    </DataTemplate>
    <DataTemplate x:Key="Template2">
        <DataGrid ItemsSource="{Binding}" SelectionChanged="DataGridSelectionChanged">
            <DataGrid.Columns>
                <StaticResource ResourceKey="FilePath"/>
                <StaticResource ResourceKey="FileSize"/>
                <DataGridTemplateColumn Header="FileCreator" Width="Auto" SortMemberPath="FileCreator">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock  Padding="4,1" Text="{Binding FileCreator}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTemplateColumn Header="FileCreated" Width="Auto" SortMemberPath="FileCreated">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock  Padding="4,1" Text="{Binding FileCreated}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </DataTemplate>

引用此链接以及样式或资源中的WPF DataGrid列

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何继承DataGridColumns

来自分类Dev

我如何控制继承代码的不同部分

来自分类Dev

我如何使可继承的类变量?

来自分类Dev

如何阻止ToolTips继承我的TextBlock样式?

来自分类Dev

我的子级如何继承Web组件的宽度和高度?

来自分类Dev

我的子类如何正确继承静态变量

来自分类Dev

我们如何在类中继承UITableViewDataSource协议?

来自分类Dev

我如何从mpl :: vector中的所有类型继承?

来自分类Dev

我该如何解决锈的继承问题?

来自分类Dev

我该如何在reactjs函数对象中继承?

来自分类Dev

我应该如何避免多类继承的需要

来自分类Dev

我如何从mpl :: vector中的所有类型继承?

来自分类Dev

我的班级如何继承接口和QObject?

来自分类Dev

我们如何在odoo中继承BaseModel类

来自分类Dev

PyQt 如何理解我们的类是从某个东西继承的?

来自分类Dev

Javascript中的继承。我是否继承对象的方法?如何获得结果?

来自分类Dev

如何概述“继承:继承0”?

来自分类Dev

UWP从我的Usercontrol继承

来自分类Dev

如何继承我班级的QtWidgets.QWidget并使我的班级类型-QtWidgets.QWidget?

来自分类Dev

我继承了一个危险的过时服务器。我打算如何安全升级它?

来自分类Dev

ResourceDictionaries中的DataGridColumns

来自分类Dev

我应该继承UIPageViewController吗?

来自分类Dev

我的模型的简单继承问题

来自分类Dev

我可以继承QEvent吗?

来自分类Dev

我应该使用继承吗?

来自分类Dev

我如何让一个类处置和一个继承的类处置都运行?

来自分类Dev

我们如何跨Android库模块继承测试类?

来自分类Dev

如何在继承的CrawlSpider中重用我的可抓取的,基于Spider的Spider的parse方法?

来自分类Dev

我如何使一个类(已经存在)继承另一个类?

Related 相关文章

  1. 1

    我如何继承DataGridColumns

  2. 2

    我如何控制继承代码的不同部分

  3. 3

    我如何使可继承的类变量?

  4. 4

    如何阻止ToolTips继承我的TextBlock样式?

  5. 5

    我的子级如何继承Web组件的宽度和高度?

  6. 6

    我的子类如何正确继承静态变量

  7. 7

    我们如何在类中继承UITableViewDataSource协议?

  8. 8

    我如何从mpl :: vector中的所有类型继承?

  9. 9

    我该如何解决锈的继承问题?

  10. 10

    我该如何在reactjs函数对象中继承?

  11. 11

    我应该如何避免多类继承的需要

  12. 12

    我如何从mpl :: vector中的所有类型继承?

  13. 13

    我的班级如何继承接口和QObject?

  14. 14

    我们如何在odoo中继承BaseModel类

  15. 15

    PyQt 如何理解我们的类是从某个东西继承的?

  16. 16

    Javascript中的继承。我是否继承对象的方法?如何获得结果?

  17. 17

    如何概述“继承:继承0”?

  18. 18

    UWP从我的Usercontrol继承

  19. 19

    如何继承我班级的QtWidgets.QWidget并使我的班级类型-QtWidgets.QWidget?

  20. 20

    我继承了一个危险的过时服务器。我打算如何安全升级它?

  21. 21

    ResourceDictionaries中的DataGridColumns

  22. 22

    我应该继承UIPageViewController吗?

  23. 23

    我的模型的简单继承问题

  24. 24

    我可以继承QEvent吗?

  25. 25

    我应该使用继承吗?

  26. 26

    我如何让一个类处置和一个继承的类处置都运行?

  27. 27

    我们如何跨Android库模块继承测试类?

  28. 28

    如何在继承的CrawlSpider中重用我的可抓取的,基于Spider的Spider的parse方法?

  29. 29

    我如何使一个类(已经存在)继承另一个类?

热门标签

归档