[英]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.