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. WPF、トリガーに基づいてバインディングを変更できますか?
- 3. バインディングに基づいてXAMLでブラシを選択する方法
- 4. JRadioButtonに基づいてJPanelを動的に変更する
- 5. CSSスタイルのバインディングに基づいてaria-labelを変更する
- 6. gVimウィンドウサイズに基づいてフォントを動的に変更
- 7. 現在のメニューに基づいてitemidを動的に変更します。
- 8. フィールド値に基づいて動的に還元フォームを変更します
- 9. マウスクリックのx、yに基づいて動的にJLabelアイコンを変更します。
- 10. 条件に基づいてLINQ 2 SQLデータベースを動的に変更します
- 11. Outlookはカテゴリに基づいてリマインダを自動的に変更します
- 12. StructureMapは、タイプに基づいて汎用インスタンスを動的に解決します
- 13. 動的リストの別のドロップダウンオプションに基づいてドロップダウンオプションを変更します
- 14. EasyPieChartsの動的データに基づいてProgressBarの色を変更します
- 15. テーブルビューに基づいてTableModelを自動変更しますか?
- 16. シリアルデータに基づいてTkinterウィンドウを動的に更新する
- 17. アクセスに基づいて変数のタイプが変更されますか?
- 18. ディスクサイズに基づいてwix DiskCostDlgメッセージを動的に変更する方法は?
- 19. ドラッグ領域に基づいて動的にサイズを変更するコントロール
- 20. イベントに基づいてブートストラップ列を動的に変更する方法は?
- 21. 入力フィールドに基づいてWebページコンテンツを動的に変更する方法
- 22. 変数に基づいて動的にコントロールを作成する
- 23. データベースを現在のライフコアに基づいて自動的に更新します
- 24. データに基づいて動的にディレクティブを選択します。
- 25. 値に基づいて動的にfadeInhtmlを返します
- 26. テキストフィールドに基づいてラジオボタンを動的に設定します。
- 27. タグの出現数に基づいてHTMLページを動的に変更
- 28. ハイチャートの値に基づいて動的な色を変更する方法
- 29. 動的な図形に基づいてテーブルセルの幅を変更する
- 30. は、選択したアクティビティタブデータに基づいてTabActivityのタイトルを動的に変更します
これは、列を持つDataGridに関するものでない場合は、これを行うのが好ましい方法です。 –
これは、DataGridが本当に必要なコントロールではないことを意味しています。あなたはListBoxとテンプレートだけで簡単に見えるようにすることができます。バインドされた型に対して、それぞれの "行"が表示されます。 –
おそらく。 –