- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有点卡在这里。我有一个 splitview 应用程序,当按下位于 Appx.cs 中的后退键时,它具有向后导航的事件。
我想在 splitviews 内容页面内导航的页面之一中定义不同的操作(例如,当某个元素可见时关闭该元素)但是应用程序始终遵循 appx.cs 中设置的事件,并且忽略页面中加载到内容框架中的事件。这是 appx.cs 中的代码:
protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
// Do not repeat app initialization when the Window already has content,
// just ensure that the window is active
if (Window.Current.Content == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
_rootFrame = new Frame();
_rootFrame.NavigationFailed += OnNavigationFailed;
_rootFrame.Navigated += OnNavigated;
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
//TODO: Load state from previously suspended application
}
// Place the frame in the current Window
Window.Current.Content = new MainPage(_rootFrame);
// Register a handler for BackRequested events and set the
// visibility of the Back button
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
_rootFrame.CanGoBack ?
AppViewBackButtonVisibility.Visible :
AppViewBackButtonVisibility.Collapsed;
}
}
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
if (_rootFrame != null && _rootFrame.CanGoBack)
{
e.Handled = true;
_rootFrame.GoBack();
}
}
这是加载到 splitviews 内容 Pane 中的其中一个页面中的代码:
public CalcOutputPage()
{
this.InitializeComponent();
// add page specific handling of back navigation when entering this page
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
}
// page specific back button navigation
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
if (MobileStackPanel.Visibility == Visibility.Visible)
{
MobileStackPanel.Visibility = Visibility.Collapsed;
e.Handled = true;
}
else
{
e.Handled = false;
}
}
但这行不通。如果它是导航堆栈中加载的第一个页面,它会工作,但在所有其他时间,应用程序遵循 appx.cs 中的导航指令
所以澄清一下:
如有任何帮助,我们将不胜感激。我正在失去理智试图让这个工作 :P
最佳答案
事件处理程序的触发顺序与它们添加的顺序相同,所以这边运气不好。一种选择是制作您自己的事件,包装原始事件。在 App.xaml.cs
中:
public event EventHandler<BackRequestedEventArgs> BackRequested;
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
// Raise child event
var eventHandler = this.BackRequested;
if (eventHandler != null)
{
eventHandler(sender, e);
}
if (!e.Handled)
{
if (_rootFrame != null && _rootFrame.CanGoBack)
{
e.Handled = true;
_rootFrame.GoBack();
}
}
}
然后在您的页面中,订阅子事件而不是主要事件:
((App)(App.Current)).BackRequested += OnBackRequested;
确保在离开页面时取消订阅事件,否则可能会导致内存泄漏。
关于c# - [UWP][C#] 覆盖 Appx.cs 中设置的 backpress 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32635667/
当我的 UWP 应用生成时,它会进入当前项目的输出路径。在其中,始终有一个名为“AppX”的附加文件夹,其中包含所有内容的重复项。 从商店安装同一应用程序时,没有与其关联的 AppX 文件夹。 开发时
我开发了一个 UWP appx,它可以安装在 cmd.exe 提示符中: C:\test>myapp.appx 但是在安装过程中会弹出一个 Windows GUI。 有没有什么方法 使用 Silent
我开发客户端-服务器 UWP 应用程序,我希望管理员通过旁加载(可能使用 WinAppDeployCmd 或 MDM)将其部署到大量设备。但是要启动,我的应用程序需要知道服务器 IP 地址,每个客户的
我正在尝试在 C# appx 包中包含数据文件或图像。我已尝试将文件添加到 csproj,并启用“复制到输出目录”,但它们不会出现在 AppXLayouts 目录中。 我在 dev.windows.c
我有一个 Windows 8 应用程序,我想将其部署到我的 Windows RT 2。我只有 .appx,我想绕过商店安装它进行测试。但是,当我运行命令时: Add-AppxPackage 我收到以
我需要在无法访问 Microsoft Store 的计算机上安装一个 UWP 应用程序(旁加载)。 这台机器甚至没有 AppX 安装程序应用程序,因此我无法安装任何这些文件(位于旁加载应用程序的安装包
我想为我的应用创建一个网站!我想如果按下安装按钮(在我的网站中)安装来自“http://mahdisml.tk/first.appx”的 .appx 如何从站点安装 .appx 文件? (不在 Win
我现在面临一个问题,我真的不知道如何获得有关它的更多信息。 我已经通过 Microsoft 的 Desktop App Converter 转换了桌面应用程序,对可视 Assets 进行了一些手动修改
我是 Windows Phone 开发的新手,有一个简单的问题,回答起来可能很简单,但我在搜索时没有运气。 appx 应用程序和 appxbundle 应用程序有什么区别? 最佳答案 单个 appx
我开发了一个 Microsoft Store 应用,我想添加 Toast 通知。 该应用程序是使用 Delphi 10.2.3 开发的,我正在使用“Desktop Bridge”技术将其转换为 Mic
我创建了一个使用 TFS vNext 构建来构建的 UWP 项目。创建包时,它使用 appx list 中的版本。相反,我想从 msbuild 命令行设置版本号。这可能吗? 最佳答案 我最终做了同样的
我已经创建了一个构建任务,它会为它所使用的项目动态生成一个文件。我设法将该文件复制到 $(TargetDir) 中,但没有复制到 AppX 文件夹中。我需要它的原因是,这个构建任务是关于单元测试的,并
我有一个 UWP 应用程序,其中包含多个 UWP 项目和一些 win32 项目(win form、wpf 等)。部署后,我想看到我的 win32 二进制文件复制到 AppX 文件夹,我该怎么做?我是使
我想在我的项目中引用一个语法文件(Rootfile->名为grammar的文件夹->名为NumbersGrammar的文件)我使用了这行代码但是它告诉我0x80070002错误(系统找不到指定的文件)
我已准备好在我的不同计算机上测试我的 UWP 应用。为此,我正在关注文章“Packagin Universal Windows apps Windows 10”。在为正确缩放图形所需的不同大小的图标苦
我们正在使用 Visual Studio 2012 中包含的 vstest.console.exe 从 powershell 运行我们的 Win8 Metro 单元测试。该过程使用由 msbuild
我正在尝试在命令行上使用 MSBuild 在我的构建代理上设置自动构建。我目前关注的两个项目是 UWP 及其关联的单元测试项目。 要构建,我必须使用这个: /p:AppxPackageSigningE
我已经使用 makeappx 工具为 .Net 桌面应用程序创建了 appx。我曾使用此命令生成 appx:makeappx pack -d "C:\Centennial\PackageLayout"
期间App Packaging and Deployment for Universal Windows Apps演示(快进到 00:36:00 )一个特定的命令行实用程序 - WinAppDeplo
我试图使用Electron Builder将我的应用程序打包为Appx文件,以将其发布在Windows应用商店中。但是我继续收到这个奇怪的错误,该错误表明我的 list 文件不可用: MakeAppx
我是一名优秀的程序员,十分优秀!