我在App.cs中有一个变量:
public static string StatusText = "";
和这样的ViewModel:
public string StatusText
{
get { return App.StatusText; }
set
{
if (value == App.StatusText) return;
App.StatusText = value;
OnPropertyChanged();
}
}
在视图中,我有一个这样的标签:
<Label x:Name="TxtReport" Text="{Binding StatusText}" />
我的意图是从View中获取某种句柄,以编程方式更改StatusText,以便绑定到它的任何Label将自动更新。 另外,我也不想直接分配TxtReport.Text,因为我只能从主线程安全地执行此操作(或使用BeginInvokeOnMainThread)。 最好的方法是什么?我已经看到了使用MessagingCenter的建议。这是唯一的方法吗?