Каковы некоторые альтернативы Панели настроек в приложениях Windows 10 UWP? - PullRequest
0 голосов
/ 30 октября 2019

Я портирую приложение метро 8,1 на Windows 10 UWP, но SettingsPane устарела.

Я знаю, что Microsoft предоставляет рекомендации в Интернете, но нет реальных рекомендаций по внедрению.

Мне интересно, если у вас, ребята, естьнекоторая идея на пути вперед.

Я предоставил ключевые куски кода, чтобы показать, что я пытаюсь исправить.

Я просмотрел некоторые другие вопросы здесь, и ответы на них содержат ссылки на рекомендации, опубликованные Microsoft.

К сожалению, этот документ содержит общие рекомендации по проектированию, но не содержит рекомендаций по реализации.

    protected override void OnWindowCreated(WindowCreatedEventArgs args)
    {
        base.OnWindowCreated(args);
        SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;
    }

    private void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
    {
        AddCommand(args, "Location", ShowConnectionSettingsFlyout);
        AddCommand(args, "UI Options", ShowUISettingsFlyout);
    }

    private void AddCommand(SettingsPaneCommandsRequestedEventArgs args, string label, UICommandInvokedHandler handler)
    {
        args.Request.ApplicationCommands.Add(new SettingsCommand(label, label, handler));
    }

Ошибки

1.

Код серьезности Описание Ошибка состояния подавления строки файла проекта CS1069 Не удалось найти имя типа «SettingsPane» в пространстве имен'Windows.UI.ApplicationSettings'. Этот тип был перенаправлен в сборку «Windows, версия = 255.255.255.255, культура = нейтральная, PublicKeyToken = null, ContentType = WindowsRuntime». Рассмотрите возможность добавления ссылки на эту сборку. CycleCount C: \ Users \ xxxx \ source \ repos \ CycleCount \ CycleCount \ App.xaml.cs 245 Актив

2.

Код серьезности Описание Подавление строки файла проектаСостояние Ошибка CS0731 Тип пересылки для типа «Windows.UI.ApplicationSettings.SettingsPaneCommandsRequestedEventArgs» в сборке «Windows» вызывает цикл CycleCount C: \ Users \ xxxx \ source \ repos \ CycleCount \ CycleCount \ App.xaml.cs 245 Активный

3.

Код серьезности Описание Ошибка состояния подавления строки файла проекта CS0103 Имя 'SettingsPane' не существует в текущем контексте CycleCount C: \ Users \ xxxx \ source \repos \ CycleCount \ CycleCount \ App.xaml.cs 242 Активно

1 Ответ

0 голосов
/ 30 октября 2019

Самый распространенный подход - создать отдельную страницу настроек, где вы можете поместить тот же код XAML, который вы использовали в панели настроек ранее. Тогда вам понадобится какое-то место в вашем пользовательском интерфейсе, чтобы поместить кнопку настроек, обычно это элемент управления NavigationView, который даже имеет специальную область для настроек, которую можно показать, установив свойство NavigationView.IsSettingsVisible * 1004. * до true. Вы можете обработать событие нажатия на эту кнопку и перейти на страницу настроек.

Вот официальные рекомендации для настроек приложения. В общем, я бы черпал вдохновение в приложении «Настройки Windows 10» и постарался, чтобы интерфейс хотя бы частично соответствовал его дизайну, чтобы он был знаком пользователю.

...