protected override void OnElementChanged(ElementChangedEventArgs <RootPage> e) { base.OnElementChanged(e); var activity = (FormsAppCompatActivity)Context; if (e.NewElement != null) { foreach (var item in Element.Children) { if (item is HomeTabbedPage) { barPage = item as HomeTabbedPage; barPage.CurrentPageChanged += delegate(object sender, System.EventArgs ev) { if (barPage.CurrentPage is AccountPage) { Element.HasSearchBar = false; } else { Element.HasSearchBar = true; } }; } if (item is SearchPage) { searchPage = item as SearchPage; } } rootView = activity.LayoutInflater.Inflate(Resource.Layout.RootView, null) as LinearLayout; searchContainer = rootView.FindViewById <FrameLayout>(Resource.Id.search_view_container); searchEditContent = rootView.FindViewById <EditText>(Resource.Id.search_edit_content); searchEditContent.OnFocusChangeListener = this; searchEditContent.AddTextChangedListener(this); searchEditContent.SetOnEditorActionListener(this); searchBackButton = rootView.FindViewById <ImageButton>(Resource.Id.search_back_button); searchBackButton.SetOnClickListener(this); searchCloseButton = rootView.FindViewById <ImageButton>(Resource.Id.search_close_button); searchCloseButton.SetOnClickListener(this); rootContainer = rootView.FindViewById <FrameLayout>(Resource.Id.root_container); rootContainer.Id = rootContainer.GetHashCode(); ViewGroup.AddView(rootView); SwitchBarPage(); } }