コード例 #1
0
ファイル: PickerExtensions.cs プロジェクト: sung-su/maui
        internal static void UpdatePicker(this MauiPicker platformPicker, IPicker picker, int?newSelectedIndex = null)
        {
            var selectedIndex = newSelectedIndex ?? picker.SelectedIndex;

            // Revert to placeholder/title if nothing selected
            platformPicker.Text = selectedIndex == -1
                                ? (picker.Title ?? string.Empty)
                                : picker.GetItem(selectedIndex);

            var pickerView = platformPicker.UIPickerView;

            pickerView?.ReloadAllComponents();

            if (picker.GetCount() == 0)
            {
                return;
            }

            picker.SelectedIndex = selectedIndex;

            if (pickerView?.Model is PickerSource source)
            {
                source.SelectedIndex = selectedIndex;
            }

            pickerView?.Select(Math.Max(selectedIndex, 0), 0, true);
        }
コード例 #2
0
 internal static void UpdatePicker(this Entry platformPicker, IPicker picker)
 {
     if (picker.SelectedIndex == -1 || picker.SelectedIndex >= picker.GetCount())
     {
         platformPicker.Text = string.Empty;
     }
     else
     {
         platformPicker.Text = picker.GetItem(picker.SelectedIndex);
     }
 }
コード例 #3
0
ファイル: PickerExtensions.cs プロジェクト: jrockhub/maui
        internal static void UpdatePicker(this MauiPicker nativePicker, IPicker picker)
        {
            nativePicker.Hint = picker.Title;

            if (picker.SelectedIndex == -1 || picker.SelectedIndex >= picker.GetCount())
            {
                nativePicker.Text = null;
            }
            else
            {
                nativePicker.Text = picker.GetItem(picker.SelectedIndex);
            }
        }
コード例 #4
0
ファイル: PickerExtensions.cs プロジェクト: jrockhub/maui
        internal static void UpdatePicker(this MauiPicker nativePicker, IPicker picker)
        {
            var selectedIndex = picker.SelectedIndex;

            nativePicker.Text = selectedIndex == -1 ? "" : picker.GetItem(selectedIndex);

            var pickerView = nativePicker.UIPickerView;

            pickerView?.ReloadAllComponents();

            if (picker.GetCount() == 0)
            {
                return;
            }

            nativePicker.SetSelectedIndex(picker, selectedIndex);
        }
コード例 #5
0
 public override nint GetRowsInComponent(UIPickerView pickerView, nint component) =>
 _virtualView?.GetCount() ?? 0;
コード例 #6
0
ファイル: IPickerExtension.cs プロジェクト: hevey/maui
 public static string[] GetItemsAsArray(this IPicker picker) => Enumerable.Range(0, picker.GetCount()).Select(i => picker.GetItem(i)).ToArray();
コード例 #7
0
ファイル: IPickerExtension.cs プロジェクト: sung-su/maui
 public static List <string> GetItemsAsList(this IPicker picker)
 => Enumerable.Range(0, picker.GetCount()).Select(i => picker.GetItem(i)).ToList();