web-dev-qa-db-ja.com

行/列をグリッドに動的に追加する

複数のテキストボックス、ラベル、画像などで構成される子UserControlがあります。グリッドのある親ユーザーコントロールにこのユーザーコントロールを設定する必要があります。

親ユーザーコントロールに入力する必要がある子ユーザーコントロールの数は、実行時に決定され、変更される可能性があります。基本的にその数は検索結果に依存します。したがって、0からnにすることができます。

子ユーザーコントロールを親コントロールに追加するにはどうすればよいですか?それとも、グリッドコントロールを使用するより良い代替策はありますか?

注:これはViewModelで行う必要があります。

15
WAQ

動的なGridサイズ(列/行数)を取得するには、@ Rachelの WPFグリッドの行/列数プロパティ などのヘルパーを使用できます。

あなたのケースでは、これは、次のような要件がある場合に、コンテキストに基づいた最も単純なケースのように、正確に何を達成しようとしているかに依存します。

親ユーザーコントロールに入力する必要がある子ユーザーコントロールの数は、実行時に決定され、変更される可能性があります。基本的にその数は検索結果に依存します。したがって、0からnにすることができます。

ItemsControlExample )を使用することをお勧めします。 ItemTemplateを使用して、子供UserControlにリンクします。必要に応じて、 ItemsPanel を微調整して、レイアウトを適切に制御することもできます。

16
Viv