0
  • VS2010 -C# 整数を入力できる TextBox があり、UniformGrid は整数の UniformGrid セルで動的に生成されます。各 UniformGrid セルに TextBox を追加する場合は、次のようにします (たとえば、int は 5 です)。

TextBox[] tb = 新しい TextBox[5];
for (int i = 0; i < 5; i++)
{
tb[i] = new Textbox();
UniformGrid1.Children.Add(tb[i]);
}

わかりました..うまくいきます。しかし、いくつかのデザイン プロパティを定義して Texbox、ボタン、およびラベルをさらに入力する必要がある場合に問題が発生します。場合によっては、UniformGrid セル内にグリッドを挿入することもできます。コントロールごとに配列を作成し、ループ内で各配列のプロパティを定義すると、非常に面倒になります。面倒なだけでなく、テキスト ボックスを UniformGrid のセルのグリッド内に配置することはできません。代わりに、子は TextBox の上にグリッドを追加します。

これにアプローチするより良い方法はありますか?

4

2 に答える 2

2

代わりに DataBinding を使用する必要があります。

ItemsControl を ObservableCollection にバインドし、UniformGrid をコンテナーとして ItemsControl に使用します。

于 2010-12-11T10:12:05.403 に答える
1

DataGridのような特殊なコントロールを使用する方が良いと思います。モデルへの双方向のバインディングが自動的に作成されるため、保守が容易であるなどです。たとえば、ここに多くの例があります(Google は、より多くの情報を見つけるのに役立ちます。 「wpf datagrid example tutorial」のような質問をしてください)

于 2010-12-11T12:23:20.120 に答える