public override void ViewDidLoad() { base.ViewDidLoad(); prepareViews(); prepareIndicatorView(); this.Bind(CloseButton.Tapped(), ViewModel.CloseButtonTapped); this.Bind(FeedbackTextView.Text(), ViewModel.FeedbackText); this.Bind(ErrorView.Tapped(), ViewModel.ErrorViewTapped); this.Bind(SendButton.Tapped(), ViewModel.SendButtonTapped); SendButton.TouchUpInside += (sender, args) => { FeedbackTextView.ResignFirstResponder(); }; this.Bind(ViewModel.IsFeedbackEmpty, FeedbackPlaceholderTextView.BindIsVisible()); this.Bind(ViewModel.ErrorViewVisible, ErrorView.BindAnimatedIsVisible()); this.Bind(ViewModel.SendEnabled, SendButton.BindEnabled()); this.Bind(ViewModel.IsLoading.Invert(), SendButton.BindIsVisible()); this.Bind(ViewModel.IsLoading, IndicatorView.BindIsVisible()); this.Bind(ViewModel.IsLoading, UIApplication.SharedApplication.BindNetworkActivityIndicatorVisible()); }