DataGridColumnsを継承するにはどうすればよいですか

Tomtom

私はリソースUserControlで2つDataTemplates使って書いてます:

DataTemplate 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> 

DataTemplate2

 <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と同じ2つのセルに、さらに2つのセルがあります。これはほんの一例です。私のアプリケーションでは、DataTemplate1には約15列があります。また、DataTemplate2には、さらに10列あります。

私の質問は次のとおりです。aDataGrid内の別の列から列を継承(またはそう)して列DataTemplateを追加できる可能性はありますか?

アイヤッパサブラマニアン

列をリソースとして追加し、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>

このリンクも参照してください。スタイルまたはリソースのWPFDataGrid列

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaScript関数を継承するにはどうすればよいですか?

分類Dev

Observable <T>から継承するにはどうすればよいですか?

分類Dev

XAML DataGridColumnsでDataGrid全体を埋めるにはどうすればよいですか?

分類Dev

Python:他のABCから継承するABCを作成するにはどうすればよいですか?

分類Dev

SQLAlchemyで継承された列に制約を定義するにはどうすればよいですか?

分類Dev

Hibernate JPA @NamedEntityGraphで継承された属性を参照するにはどうすればよいですか?

分類Dev

CSSで継承を無効にするにはどうすればよいですか?

分類Dev

継承を含むArrayListsにプロパティを追加するにはどうすればよいですか?

分類Dev

親クラスのすべての機能を継承するにはどうすればよいですか?

分類Dev

2つのクラスからUITextFieldを継承するにはどうすればよいですか?

分類Dev

php mysql echo | 送信フォームから色を継承するにはどうすればよいですか?

分類Dev

ASTから継承ツリーを取得するにはどうすればよいですか?

分類Dev

クローン作成方法を適切に継承するにはどうすればよいですか?

分類Dev

ActiveRecord :: Baseを正常に継承するにはどうすればよいですか?

分類Dev

System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

分類Dev

NSURLSessionDownloadTaskをカスタムNSURLSessionDownloadTask(継承)にキャストするにはどうすればよいですか?

分類Dev

System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

分類Dev

継承なしでDTOの重複を回避するにはどうすればよいですか?

分類Dev

シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

分類Dev

シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

分類Dev

メタクラスで多重継承を使用するにはどうすればよいですか?

分類Dev

継承で特定の基本クラスを取得するにはどうすればよいですか?

分類Dev

AEM 6.2でページプロパティを継承するにはどうすればよいですか?

分類Dev

Cheetahテンプレートで継承を使用するにはどうすればよいですか?

分類Dev

MatlabでTCPIPクラスを正しく継承するにはどうすればよいですか?

分類Dev

Visioで多重継承矢印の関係を作成するにはどうすればよいですか?

分類Dev

C#で継承のプロパティを使用するにはどうすればよいですか?

分類Dev

Haskellで継承をモデル化するにはどうすればよいですか?

分類Dev

cssで子供のプロパティを継承するにはどうすればよいですか?

Related 関連記事

  1. 1

    JavaScript関数を継承するにはどうすればよいですか?

  2. 2

    Observable <T>から継承するにはどうすればよいですか?

  3. 3

    XAML DataGridColumnsでDataGrid全体を埋めるにはどうすればよいですか?

  4. 4

    Python:他のABCから継承するABCを作成するにはどうすればよいですか?

  5. 5

    SQLAlchemyで継承された列に制約を定義するにはどうすればよいですか?

  6. 6

    Hibernate JPA @NamedEntityGraphで継承された属性を参照するにはどうすればよいですか?

  7. 7

    CSSで継承を無効にするにはどうすればよいですか?

  8. 8

    継承を含むArrayListsにプロパティを追加するにはどうすればよいですか?

  9. 9

    親クラスのすべての機能を継承するにはどうすればよいですか?

  10. 10

    2つのクラスからUITextFieldを継承するにはどうすればよいですか?

  11. 11

    php mysql echo | 送信フォームから色を継承するにはどうすればよいですか?

  12. 12

    ASTから継承ツリーを取得するにはどうすればよいですか?

  13. 13

    クローン作成方法を適切に継承するにはどうすればよいですか?

  14. 14

    ActiveRecord :: Baseを正常に継承するにはどうすればよいですか?

  15. 15

    System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

  16. 16

    NSURLSessionDownloadTaskをカスタムNSURLSessionDownloadTask(継承)にキャストするにはどうすればよいですか?

  17. 17

    System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

  18. 18

    継承なしでDTOの重複を回避するにはどうすればよいですか?

  19. 19

    シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

  20. 20

    シグナルでDjangoモデルの継承を使用するにはどうすればよいですか?

  21. 21

    メタクラスで多重継承を使用するにはどうすればよいですか?

  22. 22

    継承で特定の基本クラスを取得するにはどうすればよいですか?

  23. 23

    AEM 6.2でページプロパティを継承するにはどうすればよいですか?

  24. 24

    Cheetahテンプレートで継承を使用するにはどうすればよいですか?

  25. 25

    MatlabでTCPIPクラスを正しく継承するにはどうすればよいですか?

  26. 26

    Visioで多重継承矢印の関係を作成するにはどうすればよいですか?

  27. 27

    C#で継承のプロパティを使用するにはどうすればよいですか?

  28. 28

    Haskellで継承をモデル化するにはどうすればよいですか?

  29. 29

    cssで子供のプロパティを継承するにはどうすればよいですか?

ホットタグ

アーカイブ