Помещение Label и PickerView в одну строку в TableView - PullRequest
0 голосов
/ 02 мая 2018

Это в C # с Xamarin. Я использую кросс-платформенный код пользовательского интерфейса. Как и в случае использования файла .XAML, но я делаю это в коде.

     var viewPickerAutoSaveTimer = new StackLayout();
        viewPickerAutoSaveTimer.Orientation = StackOrientation.Horizontal;
        viewPickerAutoSaveTimer.Padding = 13;


        Label labelAutoSaveTimer = new Label()
        {
            VerticalOptions = LayoutOptions.Center,
            Text = "Auto Save Timer"
        };

        Picker pickerAutoSaveTimer = new Picker()
        {
            HorizontalOptions = LayoutOptions.FillAndExpand,
            VerticalOptions = LayoutOptions.Center,
            SelectedIndex = 1,

            Items = { "1", "2", "3" }
        };



    viewPickerAutoSaveTimer.Children.Add(labelAutoSaveTimer);
    viewPickerAutoSaveTimer.Children.Add(pickerAutoSaveTimer);

Далее у меня есть следующий код ..

                new TableSection ("AUTO SAVE") {
                    new SwitchCell {
                        Text = "Enable Auto Save:"
                    },
                    new ViewCell
                    {
                      View = viewPickerAutoSaveTimer
                    }


                },

Вот скриншот с результатом - enter image description here

В строке рядом с таймером автосохранения должен отображаться выбранный элемент на панели выбора ... но это не так!

1 Ответ

0 голосов
/ 02 мая 2018

Ваш порядок инициализации объекта неправильный, вам нужно назначить элементы выбора до . Вы можете установить элемент, выбранный из коллекции этих элементов:

    Picker pickerAutoSaveTimer = new Picker()
    {
        HorizontalOptions = LayoutOptions.FillAndExpand,
        VerticalOptions = LayoutOptions.Center,
        Items = { "1", "2", "3" },
        SelectedIndex = 1,
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...