Ich arbeite an dieser Windows Store App, ich will, dass es Open With unterstützt, wenn der Endbenutzer eine Datei mit dieser App öffnen möchte, fügte ich hinzu unterstütztes Format auf den Abschnitt Deklarationen in der App-Manifest-Datei wie dieses Bild zeigt:So überschreiben OnFileActivated Ereignis in App.cs, um OpenWith richtig zu machen
Und ich overrode die OnFileActivated Ereignis in der Datei App.xaml.cs wie folgt:
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();
}
diese Ereignis scheint nicht zu schießen, wenn ich Führen Sie OpenWith auf eine .MP4-Datei, die Anwendung lunches aber kann den Begrüßungsbildschirm nicht beenden, ich habe versucht, das Ereignis wie dieses debuggen thread erklärt, aber der Debugger stoppt nicht an jedem Haltepunkt in der OnFileActivated-Methode markiert, schätze ich Ihre Hilfe.
Update 1: Wenn Openwith auf eine Datei, und danach kann die App nicht ganz Splash Screen, ich habe jetzt dieses Meldungsfeld Fehler
Update 2 :
ich änderte meine OnFileActivated Event-Handler so sein:
protected override async void OnFileActivated(FileActivatedEventArgs args)
{
var loadMediaFileTask = new Task<IStorageItem>(() =>
{
return args.Files.First();
});
OpenedFile = await loadMediaFileTask;
}
wo OpenedFile ein:
public static IStorageItem OpenedFile { get; set; }
Dass ich als Parameter durch die Navigation im OnLaunched Ereignisse passieren:
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);
}
Und PlayerPageView
ist die Seite, die das Video in einem Media verbrauchen
All dieses Update funktioniert auch nicht, ich verstehe nicht, was ich tun sollte, würde ich mich freuen, wenn Sie Dinge zu mir klären.
Es scheint mir, als würde eine Ausnahme in der App geworfen werden. Überprüfen Sie die Ereignisanzeige, um festzustellen, ob Ereignisse vor dem Ereignis ausgelöst wurden. Wenn es nur Ladezeit ist, kann es sein, dass Sie die Datei (falls es möglicherweise groß ist) in einem Hintergrundthread laden müssen, bis sie fertig ist. Mach alles, was du kannst, um deine UI schnell hochzuladen, und zeige dann einen Ladebildschirm an, bis er fertig ist. (Auch große Auswahl an Musik;) –
@NateDiamond Ich schätze deine Hilfe, ich habe meinen Code aktualisiert und so meine Frage, und das funktioniert nicht, bitte überprüfen Sie mein Update – AymenDaoudi