| [assembly: ExportRenderer(typeof(CustomPicker), typeof(CustomPickerEditor))] namespace DataFormPicker.Droid { public class CustomPickerEditor : ViewRenderer { public CustomPickerEditor() { } EditText editText; protected override voidOnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); if (e.NewElement != null) { editText = new EditText(this.Context); (App.Current.MainPage as MainPage).Picker.SelectionChanged += Picker_SelectionChanged; editText.Touch += EditText_Touch; editText.Text = ((App.Current.MainPage asMainPage).Picker.ItemsSource).Cast<object>().FirstOrDefault().ToString(); editText.SetBackgroundColor(Android.Graphics.Color.LightGray); this.SetNativeControl(editText); } } private void Picker_SelectionChanged(object sender, Syncfusion.SfPicker.XForms.SelectionChangedEventArgs e) { editText.Text = (App.Current.MainPage asMainPage).Picker.SelectedItem.ToString(); } private void EditText_Touch(object sender, TouchEventArgs e) { (App.Current.MainPage as MainPage).Picker.IsOpen = true; } } } |
| [assembly: ExportRenderer(typeof(CustomPicker), typeof(CustomPickerEditor))] namespace DataFormPicker.iOS { public class CustomPickerEditor : ViewRenderer { public CustomPickerEditor() { } UIButton editText; protected override void OnElementChanged(ElementChangedEventArgs<View> e) { base.OnElementChanged(e); if(e.NewElement != null) { editText = new UIButton(); (App.Current.MainPage asMainPage).Picker.SelectionChanged+=Picker_SelectionChanged;; editText.SetTitle (((App.Current.MainPage asMainPage).Picker.ItemsSource).Cast<object>().FirstOrDefault().ToString(),UIControlState.Normal); editText.BackgroundColor = UIColor.Gray; editText.TouchUpInside += EditText_TouchUpInside; this.SetNativeControl(editText); } } private void Picker_SelectionChanged(object sender, Syncfusion.SfPicker.XForms.SelectionChangedEventArgs e) { editText.SetTitle((App.Current.MainPage asMainPage).Picker.SelectedItem.ToString(), UIControlState.Normal); } private void EditText_TouchUpInside(object sender, EventArgs e) { (App.Current.MainPage as MainPage).Picker.IsOpen = true; } } } |