繁体   English   中英

如何访问父页面UserControl

[英]How to access parent page UserControl is in

我有一个放置在页面中的UserControl 如何访问UserControl所在的Page

我的用例是,我希望UserControl的构造函数或方法添加到其所在页面的层次结构中。 单击UserControl的按钮时,它将在Parent Page顶部放置或显示Canvas

在一个简单的情况下, UserControl添加到Page ,第一次Parent的的UserControl时,它被放置在一个页面是FrameworkElementParent的的FrameworkElement将是网页。

例如:如果MyUserControl是我的UserControlMainPage是我要添加UserControl的页面,则可以从其中单击ButtonUserControl内部获得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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM