public override void ViewDidLoad() { base.ViewDidLoad(); var source = new FriendsDataSource(friendsList, "FriendCell", FriendCell.Key); friendsList.RowHeight = 100; var set = this.CreateBindingSet <FriendsViewController, FriendsViewModel>(); set.Bind(showFriendsButton).To(vm => vm.GetFriendsCommand); set.Bind(source).To(vm => vm.Friends); set.Apply(); source.OnRowSelected += (f) => ViewModel.NavigateToCreateMessageCommand.Execute(f); friendsList.Source = source; friendsListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.Friends, (sender, e) => { friendsList.ReloadData(); }); NavigationController.TopViewController.NavigationItem.BackBarButtonItem = new UIBarButtonItem("Message", UIBarButtonItemStyle.Plain, (sender, e) => { ViewModel.ExitCommand.Execute(); }); }
protected override void OnDestroy() { base.OnDestroy(); _urlChangedListener.Dispose(); _urlChangedListener = null; }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var ignored = base.OnCreateView(inflater, container, savedInstanceState); this.EnsureBindingContextIsSet(savedInstanceState); var view = this.BindingInflate(Resource.Layout.FriendsFragmentView, container, false); friendsListView = view.FindViewById <ListView>(Resource.Id.friendsList); progress = view.FindViewById <ProgressBar>(Resource.Id.busyIndicator); friendsAdapter = new FriendsAdapter(this.Activity, ViewModel); friendsListView.Adapter = friendsAdapter; friendsListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.Friends, (sender, e) => { friendsAdapter.NotifyDataSetChanged(); }); friendsListView.ItemClick += (sender, e) => { var selected = ViewModel.Friends[e.Position]; ViewModel.NavigateToCreateMessageCommand.Execute(selected); }; return(view); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SupportActionBar.SetDisplayHomeAsUpEnabled(true); _webView = FindViewById <WebView>(Resource.Id.webbrowser_view_webview); WebSettings settings = _webView.Settings; settings.JavaScriptEnabled = true; settings.SetAppCacheEnabled(true); settings.BuiltInZoomControls = true; settings.SetPluginState(WebSettings.PluginState.On); _webView.SetWebChromeClient(new WebChromeClient()); CookieSyncManager.CreateInstance(this); CookieManager cookieManager = CookieManager.Instance; cookieManager.RemoveSessionCookie(); String cookieString = "param=value"; cookieManager.SetCookie("https://thebridge.spaces.nexudus.com/", cookieString); CookieSyncManager.Instance.Sync(); var abc = new Dictionary <String, String> { ["Cookie"] = cookieString }; _webView.LoadUrl(ViewModel.Url, abc); try { if (!string.IsNullOrEmpty(ViewModel.Url)) { _webView?.SetWebViewClient(new WebViewClient()); _webView?.LoadUrl(ViewModel.Url); } } catch (Exception ex) { Mvx.Resolve <IExceptionService>().HandleException(ex); } _urlChangedListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.Url, () => { RunOnUiThread(() => { _webView.StopLoading(); _webView.LoadUrl(ViewModel.Url); }); }); }
public void SetupBindings() { this.DelayBind(() => { _stateListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.State, () => { BeginInvokeOnMainThread(() => { UIImage image; if (ViewModel.State == LockState.Open) { image = UIImage.FromFile("Icons/doorlock_icon_003.png").ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); TitleLabel.TextColor = UIColor.White; TitleLabel.TextColor = UIColor.White; Image.Image = image; } else if (ViewModel.State == LockState.Opening) { image = UIImage.FromFile("Icons/doorlock_icon_002.png").ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); Image.Image = image; } else { image = UIImage.FromFile("Icons/doorlock_icon_001.png").ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); TitleLabel.TextColor = iOS.Appearance.Colors.DefaultTextColor; SubTitleLabel.TextColor = iOS.Appearance.Colors.SubTextColor; } Image.Image = image; }); }); var set = this.CreateBindingSet <LockItemView, AccessControlItemViewModel>(); set.Bind(TitleLabel).To(vm => vm.Title); set.Bind(SubTitleLabel).To(vm => vm.SubTitle); set.Bind(BackPanel).For("AccessControlBackground").To(vm => vm.State); set.Bind(BackPanel).For("AccessControlBorder").To(vm => vm.State); //set.Bind(ImageView).For("AccessControlImage").To(vm => vm.State); set.Bind(LockButton).To(vm => vm.OpenCommand); set.Apply(); }); }
public override void ViewDidLoad() { base.ViewDidLoad(); var source = new HistoryDataSource(historyTable, "HistoryCell", HistoryCell.Key); historyTable.RowHeight = 70; var set = this.CreateBindingSet <HistoryViewController, HistoryViewModel>(); set.Bind(source).To(vm => vm.SentMessages); set.Apply(); historyTable.Source = source; historyListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.SentMessages, (sender, e) => { historyTable.ReloadData(); }); }
public override void ViewDidLoad() { base.ViewDidLoad(); busyListener = new MvxPropertyChangedListener(ViewModel).Listen(() => ViewModel.IsBusy, (sender, e) => { var indicator = new UIActivityIndicatorView(new CGRect(0, 0, 20, 20)); var button = new UIBarButtonItem(indicator); if (ViewModel.IsBusy) { NavigationController.TopViewController.NavigationItem.SetRightBarButtonItem(button, true); indicator.StartAnimating(); } else { NavigationController.TopViewController.NavigationItem.RightBarButtonItem = null; indicator.StopAnimating(); } }); }