DataGridのソースとして使用されているオブジェクトの一覧があります。このオブジェクトのリストは、継承された型が2つ以上ある基本クラス型です。私はDataGridの列に値として表示するために基本クラスのプロパティにバインドしようとしています。サブクラスには、表示できるようにするさまざまなプロパティが用意されています。そのため、XAMLには、指し示されている型に基づいてバインディングの値を動的に変更する方法がありますか?私は潜在的にコンバータでこれを行うことを考えましたが、私が正しく理解していれば、私はバインドする必要がある各サブクラスのプロパティごとに異なるコンバータを記述する必要があります。アドバイスや提案は高く評価されます。ありがとうタイプに基づいてXAMLバインディングを動的に変更します。
0
A
答えて
0
おそらく属性といくつかのリフレクションで、さまざまな列に入り、それらを自動生成するプロパティをマークすることができます。すべての可能なプロパティの列を含む疎なグリッドを作成することもできます。リフレクションによっても可能であり、追加のメタデータを必要としません。
(ネイティブDataGrid
イベントが、このためには十分ではない場合は、添付プロパティ(like this)を使用してアイテムに基づいて列を自動作成することができます。)
0
あなたが複数DataTemplatesを定義して所期のタイプを指定することができますDataTypeプロパティバインドされたオブジェクトのタイプに応じて、正しいテンプレートが選択されます。これを達成するための
https://msdn.microsoft.com/en-us/library/system.windows.datatemplate.datatype(v=vs.110).aspx
0
手段はCellTemplateSelectorだろう。 これを参照してくださいlink。
関連する問題
- 1. xamlのErrorContentに基づいてValidation.ErrorTemplateを動的に変更する方法
- 2. プロパティに基づいて可視性バインディングを変更します。
- 3. WPF、トリガーに基づいてバインディングを変更できますか?
- 4. バインディングに基づいてXAMLでブラシを選択する方法
- 5. JRadioButtonに基づいてJPanelを動的に変更する
- 6. viewmodelに基づいて動的にHTMLを更新します
- 7. CSSスタイルのバインディングに基づいてaria-labelを変更する
- 8. gVimウィンドウサイズに基づいてフォントを動的に変更
- 9. 動的フィールドに基づいてURLを変更する
- 10. テーブルサイズに基づいてテキストボックス/テーブル行のサイズを動的に変更します
- 11. 現在のメニューに基づいてitemidを動的に変更します。
- 12. Outlookはカテゴリに基づいてリマインダを自動的に変更します
- 13. マウスクリックのx、yに基づいて動的にJLabelアイコンを変更します。
- 14. ユーザー入力に基づいてエラーdivを動的に変更します。
- 15. 条件に基づいてLINQ 2 SQLデータベースを動的に変更します
- 16. フィールド値に基づいて動的に還元フォームを変更します
- 17. selectオプション値に基づいてテキストボックスの値を動的に変更します。
- 18. StructureMapは、タイプに基づいて汎用インスタンスを動的に解決します
- 19. 動的リストの別のドロップダウンオプションに基づいてドロップダウンオプションを変更します
- 20. EasyPieChartsの動的データに基づいてProgressBarの色を変更します
- 21. テーブルビューに基づいてTableModelを自動変更しますか?
- 22. パラメータの変更に基づいてグラフを自動的に更新する
- 23. シリアルデータに基づいてTkinterウィンドウを動的に更新する
- 24. アクセスに基づいて変数のタイプが変更されますか?
- 25. ディスクサイズに基づいてwix DiskCostDlgメッセージを動的に変更する方法は?
- 26. Wix、InstanceIDに基づいてインストールディレクトリを動的に変更する方法
- 27. 入力フィールドに基づいてWebページコンテンツを動的に変更する方法
- 28. ドラッグ領域に基づいて動的にサイズを変更するコントロール
- 29. イベントに基づいてブートストラップ列を動的に変更する方法は?
- 30. 変数に基づいて動的にコントロールを作成する
これは、列を持つDataGridに関するものでない場合は、これを行うのが好ましい方法です。 –
これは、DataGridが本当に必要なコントロールではないことを意味しています。あなたはListBoxとテンプレートだけで簡単に見えるようにすることができます。バインドされた型に対して、それぞれの "行"が表示されます。 –
おそらく。 –