2

概念的な質問があります。私は、WPF に書き込んだいくつかの統計クラスをラップしている最中です。

そのために、私は 2 つの DataGrid(-Views、現在 WinForms にあります) を持っています。一方の DataGrid では、各行が他方の列を表します。そこで、「Header」、「DataType」、「ValidationBehaviour」、「DisplayType」などのフィールドを使用して、さまざまな変数 (数学/統計変数など) を設定できます。そこで、どのように表示するかを設定することもできます。一部の列は自動的に ComboBoxColumns に設定でき、一部の TextBoxColumns などにも設定できます。

これらの列を設定したら、もう一方のグリッドに移動してデータを入力できます。たとえば、(グリッド 1 で) 数値を入力して「年間総給与」という名前の 1 つの列を生成したとします。「0=NoEducation」、「1=College Level」、「3=Universitary」などの「Education」という別の列。これらのラベルはコンボボックスにテキストとして表示され、背後にある統計エンジンがそれぞれの値 (0-3) を選択します。 ) 計算用 (つまり、順序変数、名義変数)。

すっごい。WinForms では、基本的にすべての列をコードで手動で生成し、それぞれのセル/行にデータを追加することができました。今WPFで、それは簡単に実現できるはずだと思いました。しかし、昨日、私は ICustomPropertyDescriptor を使い始めました (おそらく私は厚すぎました) 探していた結果が得られませんでした。

基本的に、私が持っているデータに基づいて、さまざまなレイアウト、コントロール (ComboBox、単純な入力、DateTimes) を使用して列 (および行) を動的に生成できる必要があります。しかし、私はそれについてどうすればよいのか本当にわかりませんか?

要約すると、次のようになります。

  • データグリッド 1

    • 目的は、DataGrid 2 で指定された列を表示することです
    • 行では、ユーザーは、列の仕様に関して許可されている列の下の行に任意の種類のデータを追加できます
  • データグリッド 2

    • このグリッドの各行は、DataGrid 1 の列を表します
    • Name/Header、DataType、Validation Behaviour、Default Value、Data Formatting などのフィールドが含まれます。
    • また、どのように表示するかを設定できる機能も含まれています。ユーザーは、たとえば、ComboBoxColumn (および使用可能なオプションも追加)、DateTime、通常の TextBox、CheckBox などから選択できます。
    • 行の追加が完了すると、DataGrid 1 に新しい列として自動的に表示されます

正しい方向へのポインタをいただければ幸いです。よろしくお願いします!:)

4

1 に答える 1

-1

DataTemplatesを検索します。彼らはまさにこれを行います。UIは、関連するタイプによって決定されます。

これがMSDNの記事です...

于 2011-05-24T15:10:44.253 に答える