3

WPF アプリでは、ContentControl が XAML で宣言されている場合、

<Grid Name="MyGrid">
    <ContentControl Name="MyContentControl" />
</Grid>

次に、次を使用してコードで簡単に参照できますFindName

ContentControl cc = FindName("MyContentControl") as ContentControl;
cc.Content = ...

しかし、代わりにコードに ContentControl を追加すると:

 ContentControl contentcntr = new ContentControl();
 contentcntr.Name = "MyContentControl";
 this.MyGrid.Children.Add(contentcntr);

FindNameが見つかりません。

2番目のケースでは何が問題になっていますか?違いは何ですか?

4

1 に答える 1

9

XAML パーサーは名前を名前スコープに自動的に登録します。このような要素を作成する場合は、RegisterName. (アクセサーFrameworkElementも付いています。)

于 2012-04-21T15:09:34.403 に答える