[英]How to access parent page UserControl is in
我有一个放置在页面中的UserControl
。 如何访问UserControl
所在的Page
?
我的用例是,我希望UserControl
的构造函数或方法添加到其所在页面的层次结构中。 单击UserControl
的按钮时,它将在Parent
Page
顶部放置或显示Canvas
。
在一个简单的情况下, UserControl
添加到Page
,第一次Parent
的的UserControl
时,它被放置在一个页面是FrameworkElement
和Parent
的的FrameworkElement
将是网页。
例如:如果MyUserControl
是我的UserControl
而MainPage
是我要添加UserControl
的页面,则可以从其中单击Button
的UserControl
内部获得MainPage
,如下所示。
var page = ((FrameworkElement)myControl.Parent).Parent;
然后您可以检查页面类型并相应地处理命令。
这是完整的片段
private void Button_Tapped(object sender, TappedRoutedEventArgs e)
{
var page = ((FrameworkElement)myControl.Parent).Parent;
if (page.GetType() == typeof(MainPage))
{
(page as MainPage).ShowData();
}
}
祝好运。
UserControl的定义中包含Page,因此您应该能够从this.Page
进行访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.