繁体   English   中英

切换ContentViews Xamarin.Forms

[英]Switching ContentViews Xamarin.Forms

我正在尝试创建一个自定义导航栏。 我已经设置了导航栏并将其命名为NavBar ,并在其上方添加了一个ContentView,其中包含“当前显示的”页面。 我创建了一个包含ContentView的公共变量,如下所示: public ContentView CurrentPage = new Featured(); 并且我在Page中设置了StackLayout,如下所示:

var stacklayout = new StackLayout { Spacing = 0 };
stacklayout.Children.Add(CurrentPage);
stacklayout.Children.Add(NavBar);
Content = stacklayout;

我有一个在按下NavBar上的按钮以更改CurrentPage的值时调用的函数,设置如下:

void NavToBuy(object sender, EventArgs e)
{
    CurrentPage = new Buy();
}

但是当按下按钮时,什么也没有发生。 我认为该值正在更改,但未显示在屏幕上。 有没有什么办法解决这一问题? 感谢您的任何帮助:)

该答案来自reddit用户brminnick1

您需要在StackLayout中替换CurrentPage ,如下所示:

 Device.BeginInvokeOnMainThread(() => stackLayout.Children[0] = new Buy()); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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