2

ContentControl を配置する WPF ウィンドウがあります。コードの後半で、XamlReader.Load 関数を使用して Xaml として読み取る文字列を使用し、それを ContentControl に配置します。これは、動的 UI を作成するために行われます。これですべて完了しましたが、このコントロールから入力フィールドの値を取得したいと考えています。ボタンクリック時。

したがって、私がやりたいことは、ContentControl の子コントロールを反復処理することだけです。どうすればこれを行うことができますか?その子を反復する方法はないようです? 何か案が。ありがとう。

4

2 に答える 2

4

論理ツリーとビジュアル ツリーの違いは、ビジュアル ツリーにはコントロールの表示に使用されるすべての要素がリストされることです。たとえば、ボタンのビジュアル ツリーは次のようになります。

ボタン -> ボーダー -> ContentPresenter -> TextBlock

論理ツリーには、コントロール自体のみがリストされます (xaml で宣言したとおり)。詳細については、次のサイトを参照してください: http://wpftutorial.net/LogicalAndVisualTree.html

したがって、必要な子供を取得するには、機能するLogicalTreeHelper.GetChildren(contentControl);必要があります。

于 2013-09-12T10:21:11.787 に答える