Windows Phone 8.1中类的折叠网格可见性

时间:2015-09-23 10:48:25

标签: windows-phone-8.1 visibility

我目前正在使用Windows Phone 8.1 [RT]应用程序,在我的应用程序中,我从类中隐藏了网格可见性。 为此,我在cs页面上创建了一个公共方法

public void HideCancelButton()
{
    grdCancle.Visibility = Visibility.Collapsed;
    bdrCancel.Visibility = Visibility.Collapsed;
    Debug.WriteLine("hide button");
    //UpdateLayout();
}

并在helperClass.cs中按以下方式调用该方法

 MainPage mypage = new MainPage();
 mypage.HideCancelButton();

它将调试"隐藏按钮"但不隐藏网格

我也用

 await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>{});

1 个答案:

答案 0 :(得分:2)

它不会隐藏网格,因为您没有引用当前显示的MainPage。

无论您在何处调用HideCancelButton方法,都应该获得对主页面的引用。

在你的情况下,最简单的解决方案是做这样的事情(考虑到你没有从MainPage类本身调用方法。

Frame rootFrame = Window.Current.Content as Frame;
MainPage mainPage = rootFrame.Content as MainPage;
if(mainPage != null)
{
    await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync
          (
               Windows.UI.Core.CoreDispatcherPriority.Normal,
               () => { mainPage.HideCancelButton(); }
          );
}