概念的な質問があります。私は、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 に新しい列として自動的に表示されます
正しい方向へのポインタをいただければ幸いです。よろしくお願いします!:)