1

タイトルが悪い場合は申し訳ありませんが、この問題について自分自身を表現する方法が正確にはわかりません.

C#、WPF で記述されたプログラムがあり、そこには多数の TabItems があります。これらのTabItems内には、いくつかのテキストボックス、チェックボックスなどがあります。これらの「メイン」TabItems内には、テキストボックス、チェックボックスなどを含む追加のTabItemsもあります。私がしたいことは、これらのコントロールからのすべての値をxmlファイルに保存できるようにすることです。メインの TabItems の 1 つに立って、次のコードを実行することで、表示されているすべてのものに対してこれを行うことができました。

List<TextBox> allTxt = FindVisualChildren<TextBox>(this).ToList<TextBox>(); // this here is my MainWindow (Interaction logic for MainWindow.xaml)
   foreach (TextBox t in allTxt)
        list.Add(t.Name + ":" + t.Text); // list is a List I store these in
//The same goes later for checkboxes etc. 

次に、これらを目的のファイルに保存します。これは、表示されているファイルに対しては正常に機能します。しかし、すべての「2 番目の」TabItems からのすべてのコントロールと、「メイン」のものからのすべてのコントロールを含めるにはどうすればよいでしょうか? Selected TabItem を変更して、最初の TabItem が完了した後にこれを増やすようにテストしましたが、これは機能していないようです...

プログラムの基本的なスケッチ(いいえ、私は良い成績を取りませんでした

4

3 に答える 3

0

内側のタブに名前を付けてから、それらの名前を使用して検索する必要があります。ここでいくつかの説明を見つけることができます:名前でコントロールを見つける

于 2013-06-05T10:56:08.870 に答える
0

すべてのコントロールを反復する代わりに、それらをデータ バインドすることも検討できます。そうすれば、データ ソースからデータを取得して XML ファイルに書き込むだけで済みます。

クラス内の各コントロールにはプロパティが必要であり、XAML では各コントロールをそのプロパティにバインドする必要があります。次に、ウィンドウのデータ コンテキストをクラスのインスタンスに設定する必要があります。

WPF のデータ バインディングについて少し読むとよいでしょう。

于 2013-06-05T11:38:39.357 に答える