0

WPFを使うのはこれが初めてです。少し悪夢のようでしたが、フォーム アプリケーションで最初からやり直したくないと思うほど、プロジェクトを十分にやり遂げました。

私の問題は次のとおりです。エクスパンダー内に 50 個のテキストボックスがあり、それがスタックパネル内にあります。各テキスト ボックスの値を配列に格納する必要があります。フォームでは、おそらく次のようにします(ちなみにvb.netを使用しています):

Dim i As Integer
Dim values() as string
For i = 0 To 49
values(i) = form1.Controls("TextBox" & i).text
Next i

(テキストボックスの名前が Textbox1、Textbox2、Textbox3 などであると仮定します)

WPFでこれを行うにはどうすればよいですか? Trees を使用してみましたが (呼ばれていると思いますか?)、毎回失敗し、現在はあきらめています。

ああ、エキスパンダーには他のコントロール (テキストボックスとペアになっているラベル) もあるということを忘れていました。

4

1 に答える 1

0

これはホラー カテゴリのコーディングに行きますが、とにかくそれを追求したい場合は、FrameworkElement に FindName ( http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname.aspx )というメソッドがあります。あなたが必要とすることをするでしょう。子要素を再帰的に検索し、エキスパンダーに名前を付け、コード ビハインドで FindName を使用してすべてのテキスト ボックスを取得します。

于 2012-05-30T22:12:32.470 に答える