【问题标题】:Update an element's property on the main page from within a frame从框架内更新主页上元素的属性
【发布时间】:2013-03-02 20:14:30
【问题描述】:

所以我有一个包含 HyperLinkBut​​ton 的主页(一个 UserControl),它使 Frame 导航到某个 Page(使用按钮的 NavigateUri 属性)。每当某个事件(例如,Click 事件)发生时,我想从 Frame 中显示的页面的代码隐藏中更新此按钮的 Content 属性在页面上触发。

因此,必须可以从包含它的 UserControl 范围之外访问此 Content 属性...而且我似乎无法将 HyperLinkBut​​ton 或其 Content 属性设为静态!

我尝试在 Content 属性上使用 {Binding} 将其绑定到我的 UserControl 中的一些简单静态字符串,但到目前为止这让我无处可去......要么我得到“非静态" 编译时出错,或者 XAML 说我的字符串不存在......有没有人知道我在那里缺少什么?

【问题讨论】:

    标签: .net silverlight xaml binding silverlight-4.0


    【解决方案1】:

    您可以使用 App.Current.RootVisual 获取对 silveright 导航项目的 MainPage 的引用(我假设您的项目就是这样)。从该参考资料中,您可以访问 Button 而无需诉诸静态成员等。您可能需要在 XAML 中命名 HyperLinkBut​​ton,以便能够从您对 MainPage 的引用中引用它。

    【讨论】:

    • 感谢您的帮助,我终于设法修改了此按钮的内容。仅作记录,因为我的 RootVisual 只是一个用作登录屏幕的主页,并使用 LayoutRoot.Children.Add() 重定向到主页,所以我必须执行以下操作才能获取我的主页:主页=(主页)App.Current.RootVisual; Main mainPage = (Main)homePage.LayoutRoot.Children.First();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    相关资源
    最近更新 更多