C# XAML Windows ストア アプリを作成しています。私のページにはグリッドがあります。そのグリッドに子要素を追加し、すぐにこの子の親を取得しようとします。親は null です。子要素から親グリッドを取得する方法はないようです。ここに私がやっていることを示すコードがあります。それほど複雑ではありません。
これは、子要素を追加して親要素を取得しようとするコードです。
FrameworkElement FieldView = Field.getView( true );
ContentPanel.Children.Add( FieldView );
Panel theParent = VisualTreeHelper.GetParent(FieldView) as Panel;
FrameworkElement theotherparent = (FrameworkElement)FieldView.Parent;
ContentPanel は、ページ上のグリッドです。FieldView は UserControl です。ページは問題なく表示され、どのコードにも例外はありません。唯一間違っているのは、FieldView の親を取得できないことです。ヌルです。
これを投稿する前に、簡単なテストを行って、UserControl が問題ではないことを確認しました。TextBlock を使用すると、同じ問題が発生します。
TextBlock Derf = new TextBlock();
PageGroup.ContentPanel.Children.Add(Derf);
Panel theParent2 = VisualTreeHelper.GetParent(Derf) as Panel;
FrameworkElement theotherparent2 = (FrameworkElement)Derf.Parent;
Windows ストア アプリで親プロパティが設定されることはありませんか? このコードは Window Phone 8 で正常に動作しました。
助けてくれてありがとう。
デイブ