2016-07-09 3 views
0

Ich versuche, eine Windows 8.1 App zu erstellen, die Powerpoint-Datei vom lokalen Computer im Vollbildmodus öffnen, und darin enthalten drei Schaltflächen für die nächste, vorherige und beenden. Ich konnte dies mit Winform tun, aber nicht in WPF. In Winform habe ich Panel Control verwendet, in das ich den PPT eingebettet habe. Panel wird in WPF durch Canvas ersetzt, aber ich weiß nicht, wie ich darin ppt einbetten kann. Gibt es einen anderen Ansatz als diesen bitte teilen? Ich kann XPS nicht verwenden, da es keine Animation unterstützt.So öffnen Powerpoint von Windows 8.1 app

 //System.Diagnostics.Process.Start("POWERPNT.EXE",  "C:/Users/SAURABH/Desktop/office/Engineer's.pptx"); 
     // Microsoft.Office.Interop.PowerPoint.Application application; 

     // // For Display in Panel 
     // IntPtr screenClasshWnd = (IntPtr)0; 
     // IntPtr x = (IntPtr)0; 


     // application = new Microsoft.Office.Interop.PowerPoint.Application(); 

     // Microsoft.Office.Interop.PowerPoint.Presentation presentation = application.Presentations.Open(@"C:\Users\delink\Documents\SAMPLE_PPT.pptx", MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse); 
     // pptViewPanel.Children.Add(application as Control); 
     // //pptViewPanel.Controls.Add(application as Control); 
     // Microsoft.Office.Interop.PowerPoint.SlideShowSettings sst1 = presentation.SlideShowSettings; 

     // sst1.LoopUntilStopped = Microsoft.Office.Core.MsoTriState.msoTrue; 

     // Microsoft.Office.Interop.PowerPoint.Slides objSlides = presentation.Slides; 

     // sst1.LoopUntilStopped = MsoTriState.msoTrue; 

     // sst1.StartingSlide = 1; 
     // sst1.EndingSlide = objSlides.Count; 

     // // pptViewPanel.Dock = DockStyle.Fill; 

     // sst1.ShowType = Microsoft.Office.Interop.PowerPoint.PpSlideShowType.ppShowTypeKiosk; 

     // Microsoft.Office.Interop.PowerPoint.SlideShowWindow sw = sst1.Run(); 
     // //sw=Objssws 
     // oSlideShowView = presentation.SlideShowWindow.View; 

     // IntPtr pptptr = (IntPtr)sw.HWND; 
     // SetParent(pptptr, pptViewPanel.handle);**"**this where I am getting-"in 'pptviewpanel.handle'"** rror"** 

Antwort

0

einen Blick auf diesen Artikel haben, kann es sein, was Sie für

How can I embed a PowerPoint presentation into a WPF application without opening another window?

oder eine umfassendere Antwort auf Ihre Suche:

http://www.codeproject.com/Articles/118676

+0

Ich öffnete erfolgreich ppt, aber es gibt ein ituue. Ich kann keine Knöpfe über dem offenen Punkt setzen. Schaltflächen erscheinen, wenn ich die Anwendung starte, aber wenn ich ppt über den ganzen Bildschirm durch die Folie gestartet. Ich möchte Tasten darüber setzen, damit ich ppt steuern kann und auch PPT-Animation nicht funktioniert. – user3165463

0

Sie konvertieren könnte Ihre Präsentation zu einem Video-Format im laufenden Betrieb:

// not tested as I don't have the Office 2010, but should work 
private string GetVideoFromPpt(string filename) 
{ 
    var app = new PowerPoint.Application(); 
    var presentation = app.Presentations.Open(filename, MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse); 

    var wmvfile = Guid.NewGuid().ToString() + ".wmv"; 
    var fullpath = Path.GetTempPath() + filename; 

    try 
    { 
     presentation.CreateVideo(wmvfile); 
     presentation.SaveCopyAs(fullpath, PowerPoint.PpSaveAsFileType.ppSaveAsWMV, MsoTriState.msoCTrue); 
    } 
    catch (COMException ex) 
    { 
     wmvfile = null; 
    } 
    finally 
    { 
     app.Quit(); 
    } 

    return wmvfile; 
} 

Und dann würden Sie es mit Media spielen:

<MediaElement Name="player" LoadedBehavior="Manual" UnloadedBehavior="Stop" /> 

public void PlayPresentation(string filename) 
{ 
    var wmvfile = GetVideoFromPpt(filename); 
    player.Source = new Uri(wmvfile); 
    player.Play(); 
} 

nicht File.Delete (WMVFile) Vergessen Sie, wenn Sie das Video zu spielen sind fertig!

+0

Danke, aber ich brauche es mit dem Benutzer zu interagieren Mittel Benutzer kann s/w nächste und vorherige Folie – user3165463

+0

Ich habe Angst, müssen Sie möglicherweise die Folien in der Anwendung selbst als Steuerelemente mit der nächsten/vorherigen Taste erstellen. Warum öffnest du nicht einfach die Datei 'ppt' aus der Anwendung? – ViVi

+0

Wenn Sie bereit sind, etwas Zeit dafür zu verbringen, lesen Sie diesen Artikel: http://www.codeproject.com/Articles/118676/Embedding-PowerPoint-presentation-player-into-a-WP – ViVi

Verwandte Themen