目前,我正在使用 Xamarin.Forms PLC项目。
我在Page [x]上有一个标签[x],然后我会按下按钮并转到Page [xx],然后我将返回Page [x],但我需要更新Label [x] Text在页面[xx]上选择了一些选项。
我应该使用哪个事件来更新Label.Text
?
我在 Xamarin.android 上覆盖OnResuem()
功能,但它不能用于 Xamarin.forms ,我不知道哪个是最佳解决方案。
答案 0 :(得分:2)
一些快速解决方案是:
- 覆盖页面的OnAppearing()
方法,并在其他页面上更改后更改label.Text
属性
- 将该属性更改为公开,并在另一页上更改
- 将属性作为参数发送到下一页
但是你应该做什么!将您的属性绑定到ViewModel并使用OnPropertyChange()(Xamarin.Forms方式和MVVM体系结构)事件:几个教程如何更好地理解这一点:
https://blog.xamarin.com/advanced-data-binding-for-ios-android-and-windows/
https://developer.xamarin.com/guides/xamarin-forms/user-interface/xaml-basics/data_bindings_to_mvvm/
https://developer.xamarin.com/guides/xamarin-forms/user-interface/xaml-basics/data_binding_basics/
答案 1 :(得分:0)
我不确定您的代码是如何工作的,因为您还没有说。所以我不确定Page[x]
对Page[xx]
的了解程度,但听起来我想要使用OnAppearing()
覆盖。
来自Xamarin.Forms Page API documentation州:
重写时,允许应用程序开发人员使用 在页面变为可见之前立即自定义行为。
您可以通过在 Page [。]。xaml.cs 文件中添加以下内容来实现此目的
protected override void OnAppearing()
{
//Your code here
}