我正在编写一个 C# XAML Windows Store 应用程序。我的页面上有一个网格。我在该网格中添加了一个子元素,并立即尝试获取该子元素的父元素。父级为空。似乎没有办法从子元素获取父网格。这是一些代码来显示我在做什么。这并不是那么复杂:
这是添加子元素并尝试获取父元素的代码:
FrameworkElement FieldView = Field.getView( true );
ContentPanel.Children.Add( FieldView );
Panel theParent = VisualTreeHelper.GetParent(FieldView) as Panel;
FrameworkElement theotherparent = (FrameworkElement)FieldView.Parent;
ContentPanel 是页面上的一个网格。FieldView 是一个用户控件。页面显示得很好,任何代码都没有异常。唯一错误的是我无法获取 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 上运行良好。
谢谢你的帮助。
戴夫