簡體   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