我试图做出改变,以示例项目Cirrious.Conference。 特别是在SessionView类的触摸视图,并在这个类
https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.Core/ViewModels/SessionLists/BaseSessionListViewModel.cs
在方法
protected void NavigateToSession(Session session)
{
ShowViewModel<SessionViewModel>(new { key = session.Key });
}
我想去除隐藏一个UIWebView(在APP)与会话类的属性的loadRequest结合(假设有一个房产网址...)。 我已经创造了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!) } } }
实现一个自定义的目标结合瑞士并将其添加到您的Setup.cs。 这个过程在此被描述自定义绑定其中还包括一些实例链路(它们中的一个是在会议应用) -呈现
如果此属性不会改变,那么就不要使用绑定,而是只需调用中的loadRequest您MvxViewController
viewDidLoad中-例如,
public void ViewDidLoad() { base.ViewDidLoad(); var myViewModel = (MyViewModel)ViewModel; var url = myViewModel.Url; TheWebView.LoadRequest(url); }