私はこのWindows Store Appで作業しています。このアプリケーションを使用してファイルを開くときにOpen Withをサポートします。この絵が示すように、アプリケーションマニフェストファイルの宣言セクションにフォーマットをサポート:OpenWithを動作させるためにApp.csのOnFileActivatedイベントをオーバーライドする方法
そして、次のように私はApp.xaml.csファイルにOnFileActivatedイベントをオーバーライド:
protected override void OnFileActivated(FileActivatedEventArgs args)
{
if (args.Files.Count > 1)
{
MessageDialog messageDialog1 = new MessageDialog("DirectTouchPlayer can't open many files, the first file will be opened.");
messageDialog1.ShowAsync();
}
OpenedMediaFile = (StorageFile)args.Files.First();
MessageDialog messageDialog2 = new MessageDialog(OpenedMediaFile.Path + " " + " : Opened !");
messageDialog2.ShowAsync();
}
これをイベントが発砲していないようですOpenWithを.MP4ファイルで実行すると、アプリケーションが起動しますが、スプラッシュ画面を終了できません。このようなイベントをデバッグしようとしました。thread について説明しますが、OnFileActivatedメソッドでマークされたブレークポイントでデバッガが停止しません。助けて。
アップデート1: OpenWithファイルに、アプリは非常にスプラッシュスクリーンできないことをした後、私は
今、このメッセージボックスエラーを抱えているアップデート2 :
protected override async void OnFileActivated(FileActivatedEventArgs args)
{
var loadMediaFileTask = new Task<IStorageItem>(() =>
{
return args.Files.First();
});
OpenedFile = await loadMediaFileTask;
}
:
私はこのようなことに私のOnFileActivatedイベントハンドラを変更しました
OpenedFileがある場合:私はOnLaunchedイベントのナビゲーションを通じてパラメータとして渡す
public static IStorageItem OpenedFile { get; set; }
:
if (rootFrame.Content == null)
{
// When the navigation stack isn't restored navigate to the first page,
// configuring the new page by passing required information as a navigation
// parameter
rootFrame.Navigate(typeof(PlayerPageView), OpenedFile);
}
そしてPlayerPageView
はのMediaElementでビデオを消費しますページです
このアップデートもすべて動作しません。私は何をすべきか理解していません。私に事を明確にすれば幸いです。
アプリに例外がスローされているようです。イベントビューアーを調べて、イベントビューアーの前にイベントがスローされているかどうかを確認します。ロード時だけであれば、ファイルが完了するまでバックグラウンドスレッドにファイルをロードする必要があるかもしれません(大規模である場合があります)。 UIをすばやく取得し、準備ができるまで読み込み画面を表示するためにできることはすべて実行してください。 –
@NateDiamondあなたの助けに感謝し、私のコードを更新しました。私の質問はうまくいきません。私の更新をチェックアウトしてください。 – AymenDaoudi