diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs index e9cc3942..57d93b8f 100644 --- a/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs +++ b/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs @@ -23,6 +23,8 @@ namespace Xamarin.Forms.Platform.Android AutoPackage = false; } + IElementController ElementController => Element as IElementController; + protected override void Dispose(bool disposing) { if (disposing && !_isDisposed) @@ -77,7 +79,7 @@ namespace Xamarin.Forms.Platform.Android else if (_dialog != null) { _dialog.Hide(); - ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); + ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); Control.ClearFocus(); _dialog = null; } @@ -101,14 +103,14 @@ namespace Xamarin.Forms.Platform.Android var layout = new LinearLayout(Context) { Orientation = Orientation.Vertical }; layout.AddView(picker); - ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true); + ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true); var builder = new AlertDialog.Builder(Context); builder.SetView(layout); builder.SetTitle(model.Title ?? ""); builder.SetNegativeButton(global::Android.Resource.String.Cancel, (s, a) => { - ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); + ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); // It is possible for the Content of the Page to be changed when Focus is changed. // In this case, we'll lose our Control. Control?.ClearFocus(); @@ -116,14 +118,14 @@ namespace Xamarin.Forms.Platform.Android }); builder.SetPositiveButton(global::Android.Resource.String.Ok, (s, a) => { - ((IElementController)Element).SetValueFromRenderer(Picker.SelectedIndexProperty, picker.Value); + ElementController.SetValueFromRenderer(Picker.SelectedIndexProperty, picker.Value); // It is possible for the Content of the Page to be changed on SelectedIndexChanged. // In this case, the Element & Control will no longer exist. if (Element != null) { if (model.Items.Count > 0 && Element.SelectedIndex >= 0) Control.Text = model.Items[Element.SelectedIndex]; - ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); + ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); // It is also possible for the Content of the Page to be changed when Focus is changed. // In this case, we'll lose our Control. Control?.ClearFocus(); |