gpt4 book ai didi

xaml - 使用模板10 MVVM在帧之间导航

转载 作者:行者123 更新时间:2023-12-03 10:19:19 24 4
gpt4 key购买 nike

在使用模板10的UWP应用中,我们具有管理页面。 “管理”页面在一个框架中有2个页面:AdminSettings1和AdminSettings2。我们希望在框架中的AdminSettings1和AdminSettings2之间导航,但是我们发现到达目标页面,但丢失了包含页面。

我们如何使用Template 10 MVVM在框架内的页面之间导航而不丢失包含页面?

XAML(缩写):

<SplitView Grid.Row="1" 
x:Name="AdminSplitView"
IsPaneOpen="True"
DisplayMode="Inline">
<SplitView.Pane>
<Grid>
<ListView SelectionMode="Single"
Name="AdminListBox">
<ListViewItem Name="AdminSettings1"
IsSelected="True"
Tapped="{x:Bind AdminViewModel.GoToAdminSettings1}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Settings1"/>
</StackPanel>
</ListViewItem>
<ListViewItem Name="AdminSettings2"
Tapped="{x:Bind AdminViewModel.GoToJobformSettings2}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Settings2"/>
</StackPanel>
</ListViewItem>
</ListView>
</Grid>
</SplitView.Pane>
<SplitView.Content>
<Frame Name="AdminFrame" />
</SplitView.Content>
</SplitView>

我们这样到达AdminPage
GoToAdmin() => NavigationService.Navigate(typeof(Views.AdminPage));
在AdminPageViewModel中,我们像这样导航到AdminPage2
public void GoToAdmin2() =>
NavigationService.Navigate(typeof(Views.AdminPage2));
但这会丢失包含的“管理”页面

我引用了 Other examples of calling Navigate的T10文档。此选项导航到页面机器人失去包含页面的情况
// from inside any window
var nav = WindowWrapper.Current().NavigationServices.FirstOrDefault();
nav.Navigate(typeof(Views.AdminPage2));

我无法在文档中测试此示例,因为我不了解MyFrame的来源
// from/with a reference to a Frame
var nav = WindowWrapper.Current(MyFrame).NavigationServices.FirstOrDefault();
nav.Navigate(typeof(Views.DetailPage), this.Value);

我们如何使用Template 10 MVVM在框架中的页面之间导航?

最佳答案

您可以使用页面缓存并使用以下解决方案:https://github.com/MyToolkit/MyToolkit/wiki/Paging-Overview
来自这个问题:WinRT/UWP Frame and Page caching: How to create new page instance on Navigate() and keep the page instance on GoBack()

this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;

关于xaml - 使用模板10 MVVM在帧之间导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45071144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com