【问题标题】:UWP View Layout based on Navigation Path基于导航路径的 UWP 视图布局
【发布时间】:2018-07-25 10:12:28
【问题描述】:

我有一个可以通过两个单独视图中的按钮访问的页面。我的问题是,当我从第一个视图导航到页面时,我想将该页面中按钮的可见性设置为折叠。当我从另一个视图导航到页面时,我需要将该特定按钮设置为可见。

我非常想知道是否有一种方法可以从特定视图之外的视图中设置按钮的可见性属性?

【问题讨论】:

    标签: uwp-xaml


    【解决方案1】:

    Navigate 方法允许您传递要由导航目标解释的参数。具体操作方法请参考Pass information between pages

    您可以通过Navigate方法传递Visibility属性并在页面中使用OnNavigateTo方法接收它,然后您可以将此属性设置为该页面内的按钮。例如:

    //When navigate
    private void btnnavigate_Click(object sender, RoutedEventArgs e)
    {
       this.Frame.Navigate(typeof(testpage), "Collapsed");
    }
    

    在页面上:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (e.Parameter is string && !string.IsNullOrWhiteSpace((string)e.Parameter))
        {
            var visibleproperty = e.Parameter as string;
            if(visibleproperty=="Collapsed")
            {
                btnnavigate.Visibility = Visibility.Collapsed;
            }
            else
            {
                btn.Visibility = Visibility.Visible;
            }
        }
        else
        {
           btn.Visibility = Visibility.Visible;
        }
        base.OnNavigatedTo(e);
    }
    

    【讨论】:

    • 完美,我认为我可以通过导航传递参数。我只是无法使其正常工作,这对我有很大帮助。谢谢
    猜你喜欢
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多