首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVVMCross中的动态绑定UIWebView

MVVMCross中的动态绑定UIWebView
EN

Stack Overflow用户
提问于 2013-05-15 01:08:48
回答 1查看 2.8K关注 0票数 1

我正在尝试对示例项目Cirrious.Conference进行更改。特别是在Touch View at SessionView类和这个类中

https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.Core/ViewModels/SessionLists/BaseSessionListViewModel.cs

论方法论

代码语言:javascript
运行
复制
protected void NavigateToSession(Session session)
{
 ShowViewModel<SessionViewModel>(new { key = session.Key });
}

我想打开一个UIWebView (在app中)绑定LoadRequest,它有一个类Session的属性(假设有一个属性URL...)。我已经在SessionView中创建了一个UIWebView对象,但它不可能创建一个Swisse Binding...Maybe,它可以使用customBinding...

我怎么能做到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 02:43:33

因为UIWebView不公开LoadRequest的属性,所以不能直接绑定到它。

如果要对LoadRequest使用绑定,则有3个选项可供选择:

  1. UIWebView继承MyWebView,添加一个驱动LoadRequest的C#属性,然后在您的UI和瑞士绑定中使用该属性-例如:

注册(“MyWebView”)公共类MyWebView: UIWebView { public MyWebView() {} public MyWebView(IntPtr _myUrl):base(MyWebView){}私有string _myUrl;public string MyUrl { get { return _myUrl;} set { if (_myUrl == value) MyUrl;_myUrl = value;LoadRequest(value);//或类似的(我还没有检查语法!)}

  • 实现一个自定义目标瑞士绑定并将其添加到您的Setup.cs中。此Custom Bindings演示文稿中描述了此过程-其中还包括一些示例的链接(其中一个位于会议应用程序中)

  • 如果此属性永远不会更改,则不要使用绑定,而只需在MvxViewController ViewDidLoad中调用LoadRequest -例如

public void ViewDidLoad() { base.ViewDidLoad();var myViewModel = (MyViewModel)ViewModel;var url = myViewModel.Url;TheWebView.LoadRequest(url);}

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16548972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档