Lui*_*ese 1 binding mvvm mvvmcross
我正在尝试对示例项目Cirrious.Conference进行更改.特别是在SessionView类和此类的Touch View中
方法
protected void NavigateToSession(Session session)
{
ShowViewModel<SessionViewModel>(new { key = session.Key });
}
Run Code Online (Sandbox Code Playgroud)
我想打开一个UIWebView(在应用程序中)绑定LoadRequest与类Session的属性(假设有一个属性URL ...).我在SessionView中创建了一个UIWebView对象,但是不可能创建一个Swisse绑定...也许可以使用customBinding ......
我怎么能这样做?
由于UIWebView不公开属性LoadRequest,因此无法直接绑定到它.
如果您想使用绑定LoadRequest,那么您可以使用以下3个选项:
继承MyWebView从UIWebView,添加驱动器C#属性LoadRequest,然后使用您的用户界面,类,并在您的瑞士绑定属性-例如:
[Register("MyWebView")]
public class MyWebView : UIWebView
{
public MyWebView()
{
}
public MyWebView(IntPtr handle) : base(handle)
{
}
private string _myUrl;
public string MyUrl
{
get { return _myUrl; }
set
{
if (_myUrl == value) return;
_myUrl = value;
LoadRequest(value); // or similar (I've not checked the syntax!)
}
}
}
Run Code Online (Sandbox Code Playgroud)实现自定义目标Swiss绑定并将其添加到Setup.cs.此自定义绑定演示文稿中描述了此过程- 其中还包含一些示例的链接(其中一个示例位于会议应用程序中)
如果此属性永远不会更改,则不要使用绑定,而只是在MvxViewControllerViewDidLoad中调用LoadRequest - 例如
public void ViewDidLoad()
{
base.ViewDidLoad();
var myViewModel = (MyViewModel)ViewModel;
var url = myViewModel.Url;
TheWebView.LoadRequest(url);
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2597 次 |
| 最近记录: |