Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Android:基于Viewmodel的动态更新UI_Xamarin_Mvvm_Xamarin.android_Mvvmcross - Fatal编程技术网

Xamarin Android:基于Viewmodel的动态更新UI

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

在我的android项目中,webview url是动态的。我在视图端使用mvvmcros绑定,但它不是动态的。如果视图模型上的url内容正在更改,则其不会在视图上更新。有人能帮我吗

查看

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://.."'
  }