Кнопка подключения в приложении NavigationView for UWP - PullRequest
0 голосов
/ 15 февраля 2019

Я использую NavigationView в своем приложении UWP и пытался подключить кнопку возврата для изменений содержимого.Мне не удалось включить кнопку во время изменения содержимого, даже если я установил свойство enable представления навигации.В настоящее время я просто хочу иметь возможность перейти от основного вида к странице, а затем вернуться к основному виду.А также иметь возможность перемещаться глубже в стек, так что Основной вид -> Новый вид -> Новый вид и обратно в главный вид.

MainPage.xaml / cs

<NavigationView x:Name="MainView_NavigationView"
                    PaneTitle="Git Manager"
                    PaneDisplayMode="LeftCompact"
                    ItemInvoked="MainView_NavigationView_ItemInvoked"
                    Header="Git Manager"
                    BackRequested="MainView_NavigationView_BackRequested">

    <NavigationView.AutoSuggestBox>
        <AutoSuggestBox PlaceholderText="Search"
                            QueryIcon="Find"/>
    </NavigationView.AutoSuggestBox>

    <NavigationView.MenuItems>
        <NavigationViewItemSeparator/>
        <NavigationViewItemHeader Content="Information" />
        <NavigationViewItemSeparator/>

        <NavigationViewItem x:Name="Login_NavViewItem" 
                                Content="Login" 
                                Tag="Clone Repositories" 
                                Icon="AddFriend"/>

        <NavigationViewItem x:Name="Remote_NavViewItem" 
                                Content="Remote" 
                                Icon="World"/>

        <NavigationViewItem x:Name="Local_NavViewItem" 
                                Content="Local" 
                                Icon="Folder"/>

        <NavigationViewItem x:Name="Schedule_NavViewItem" 
                                Content="Schedule" 
                                Icon="Calendar"/>

        <NavigationViewItemSeparator/>
    </NavigationView.MenuItems>

    <NavigationView.Content>
        <Frame x:Name="ContentFrame">
            <Frame.ContentTransitions>
                <TransitionCollection>
                    <NavigationThemeTransition />
                </TransitionCollection>
            </Frame.ContentTransitions>
            <Grid>
                <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalTextAlignment="Center" TextAlignment="Center" Text="asdfasdfasdfasdf" />
            </Grid>
        </Frame>
    </NavigationView.Content>
</NavigationView>

-

public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void MainView_NavigationView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
        {
            if(args.IsSettingsInvoked)
            {

            }
            else
            {
                NavigationViewItem item = args.InvokedItemContainer as NavigationViewItem;

                switch(item.Content)
                {
                    case "Login":
                        ContentFrame.Navigate(typeof(Views.Login));
                        break;
                    case "Remote":
                        ContentFrame.Navigate(typeof(Views.Remote));
                        break;

                    case "Local":
                        ContentFrame.Navigate(typeof(Views.Local));
                        break;

                    case "Schedule":
                        ContentFrame.Navigate(typeof(Views.Schedule));
                        break;
                }
            }
        }

        private async void MainView_NavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args)
        {
            var contentBox = new ContentDialog();
            contentBox.Content = "Back clicked";

            await contentBox.ShowAsync();
        }
    }

Остальные страницы - это просто новые страницы контента, на которых есть текстовый блок.Итак, мои 2 вопроса:

Как мне подключить кнопку «Назад», чтобы она была активна, и чтобы я мог щелкнуть ее при изменении содержимого или как перейти на новую страницу в представлении навигации, чтобы включить эту функцию?button / functionlity.

Как использовать это для навигации по вложенным страницам назад и вперед?

1 Ответ

0 голосов
/ 18 февраля 2019

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

Чтобы включить / отключить функцию BackButton в NavigationView, необходимо установить для нее свойство IsBackEnabled=True/False.И затем, вы можете использовать Frame class CanGoBack и CanGoForward свойство для включения / выключения BackButton.

Пожалуйста, посмотрите Навигационный просмотр и История навигации и обратная навигация для приложений UWP для получения дополнительной информации.

...