提问人:anubis 提问时间:11/9/2023 更新时间:11/9/2023 访问量:61
WPF 应用未从窗口运行,使用选项打开
WPF app not running from windows open with option
问:
我创建了一个wpf 。处理某些类型文件的 Net6 应用程序
它按从打开的文件对话框中获取的路径加载文件
但我也想从寡妇浏览器打开文件
所以我做了一个启动事件来捕捉StartupEventArgs
void App_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Length == 1)
{
string filePath = e.Args[0];
MySF.Openfrompath(filePath);
StudioWindow studioWindow = new();
StudioWindow.mySceneviewModel.myScene.GetBoneRelations();
studioWindow.Show();
StudioWindow.mySceneviewModel.RefreshView();
StringBuilder sb = new();
sb.AppendLine(
$"A new Scene opened {StudioWindow.mySceneviewModel.myScene.MyName} for {StudioWindow.TargetedGame.ToString()}"
);
sb.AppendLine($"Path : {StudioWindow.mySceneviewModel.myScene.MyPath}");
sb.AppendLine(StudioWindow.mySceneviewModel.myScene.GetListCounts());
Logger.Log(sb.ToString(), "A New Scene Opened");
MyServices.SaveRecentlyOpenedFile(filePath);
}
else
{
Welcome Window = new();
Window.Show();
}
}
在这里我检查是否有命令行参数将运行 ,
欢迎窗口有一个打开的文件对话框,该对话框获取文件路径,然后运行然后显示Welcome Window
MySF.Openfrompath(filePath);
Studio Window
问题是,如果有来自“打开方式”的命令行参数,则不会显示 StudioWindow
如果我在调试器配置文件中将文件路径添加为命令行参数,则应用将按预期工作 如果我在这里放一个 MessageBox
string filePath = e.Args[0];
MessageBox.Show(filePath);
MySF.Openfrompath(filePath);
并使用“打开方式”,MessageBox 将显示,但 StudioWindow 仍不会显示
答: 暂无答案
评论