繁体   English   中英

Xamarin Forms-另一个页面中的访问变量

[英]Xamarin Forms - Access variable in another page

我的MainPage.xaml.cs中有一个函数,当它被调用时,我想更改另一个页面Dashboard.xaml.cs中标签上的文本。

如何在Xamarin Forms中的文件之间更改变量和调用函数?

页面只是类,您可以像任何类一样在页面之间进行通信:使用公共方法,公共属性,公共事件等

但是,使用MessagingCenter内置的Form可能是最好的方法:

// send a message TO an instance of MyPage
MessagingCenter.Send<MyPage, string> (this, "MessageName", some_string_arg);

// in MyPage, listen for the Message
MessagingCenter.Subscribe<MyPage> (this, "MessageName", (sender, args) => {
    // args will contain the value passed in Send
});

如果您具有对Page实例的引用,则可以在该实例上调用方法或设置属性。

在2.3.6中,您甚至可以设置x:FieldModifier并直接修改字段值。

但是不要做任何事情。 使用Mvvm模式,绑定页面,并让ViewModel之间相互通信。 并且您的页面也会相应地修改。

Xamarin中的每个视图都是一个类,您可以实例化View类型的变量,其中View是您要访问的页面。 例如:

我有一个称为Works的视图。 要访问视图中包含的(公共)函数和变量,我编写如下代码:

Works MyTestVariable;
var SomeResult = MyTestVariable.FunctionInWorksClass(aParameter);

将执行Works视图中包含的函数,并将该值返回给调用视图中的var。

暂无
暂无

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

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