Xamarin Android:基于Viewmodel的动态更新UI
在我的android项目中,webview url是动态的。我在视图端使用mvvmcros绑定,但它不是动态的。如果视图模型上的url内容正在更改,则其不会在视图上更新。有人能帮我吗 查看Xamarin Android:基于Viewmodel的动态更新UI,xamarin,mvvm,xamarin.android,mvvmcross,Xamarin,Mvvm,Xamarin.android,Mvvmcross,在我的android项目中,webview url是动态的。我在视图端使用mvvmcros绑定,但它不是动态的。如果视图模型上的url内容正在更改,则其不会在视图上更新。有人能帮我吗 查看 public string WebContentUrll { get; set; } protected override void OnCreate(Android.OS.Bundle bundle) { var bindingSet = this.CreateBindi
public string WebContentUrll { get; set; }
protected override void OnCreate(Android.OS.Bundle bundle)
{
var bindingSet = this.CreateBindingSet<view, ViewModel>();
bindingSet.Bind(this).For(v => v.WebContentUrll).To(vm => vm.WebContentUrl).TwoWay();
}
加载页面后,视图模型中web内容url的值会发生变化,但android视图无法获取新的更新url
谁能给我提个建议吗。多谢各位
更新
单击按钮即可打开web视图,并且在页面加载后和单击按钮之前,url将更新,如您在开场白中的描述所示。在活动中,您定义了一个属性
WebContentUrll
。您希望绑定此文件,并在其更改时进行更新
WebContentUrll
的定义是:
公共字符串WebContentUrll{get;set;}
这并没有错,当值从ViewModel通过绑定更改时,您应该可以在WebContentUrll
中看到反映的值。但是,没有代码更新任何可视状态、视图或基于该属性的任何内容
如果您有一个要更改其内容的WebView,可以将属性修改为以下内容:
private string\u webContentUrll;
公共字符串WebContentUrll
{
get=>\u网络内容URL;
设置
{
_webContentUrll=值;
_LoadUrl(_webContentUrll);
}
}
鉴于
\u webView
是您的webView
实例,我不确定您在这里想做什么。是否在视图中使用WebView控件?ViewModel是否负责更改URL?现在,它只是更改视图上的属性。。。它不会加载新页面。
private string webContentUrl;
public string WebContentUrl
{
get
{
return webContentUrl;
}
set
{
webContentUrl = value;
RaisePropertyChanged(() => webContentUrl);
}
}
public void Init()
{
webContentUrl = "https://.."'
}