Wie kann ich Flash-Inhalte in einem WPF-Formular hosten und trotzdem Transparenz/Alpha in meinem WPF-Fenster verwenden? Das Hosten eines WinForms-Flash-Steuerelements lässt dies nicht zu.Wie kann man Flash-Inhalte in einer WPF-Anwendung hosten und Transparenz verwenden?
Antwort
Wenn das Steuerelement, das Sie zum Anzeigen des Flash-Inhalts verwenden, nicht in WPF integriert ist, werden Sie in diese "Luftraum" -Ausgaben hineinlaufen. Jede Display-Technologie von Win32 bis WinForms verwendet HWNDs "unter der Haube", aber WPF verwendet DirectX. Der Windows-Manager in Windows versteht jedoch immer noch nur HWNDs, also haben WPF-Anwendungen ein HWND-basiertes Fenster der obersten Ebene, und alles darunter ist in DirectX erledigt (tatsächlich haben Dinge wie Kontextmenüs und Tooltips auch Top-Level-HWNDs) . Adam Nathan hat eine sehr gute Beschreibung von WPF Interop in this article.
Kann mit Expression der Flash-Inhalt in XAML konvertiert werden? Ich glaube, dass es Werkzeuge gibt, die da sind oder zur Seite, die das tun.
Obwohl ich es nicht getan habe, können Sie wahrscheinlich das WebBrowser-Steuerelement in WPF 3.5 SP1 verwenden, um Ihren Flash-Inhalt in WPF zu verpacken. Ich bin mir nicht sicher, wie die Transparenz beeinflusst wird.
Ich habe gerade mit demselben Problem zu kämpfen, wie hochzuladen & Machen Sie WPF transparent mit der Fähigkeit zur Anzeige von Flash, denn wenn Sie auf Ihrem MainWindow aktivieren "Transparenz zulassen" Flash wird nicht angezeigt, sobald die Anwendung ausgeführt wird.
1) Ich habe WebBrowser Control verwendet, um Flash (. SWF) -Dateien zu spielen. Sie sind auf meinem PC, aber es kann aus dem Internet spielen oder wo auch immer Sie sie gehostet haben. Vergessen Sie nicht, Ihr WebBrowser-Steuerelement zu benennen, um in C# zu gelangen.
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MyHelper.ExtendFrame(this, new Thickness(-1));
this.MyBrowser.Navigate(@"C:\Happy\Download\flash\PlayWithMEGame.swf");
}
2) nun für Transparenz. Ich habe in WPF "false" auf "Transparenz zulassen" gesetzt und "Window Style" auf "None" gesetzt. Danach habe ich Informationen aus HERE und HERE und erstellt einen folgenden Code verwendet haben, die Transparenz gewünschte Wirkung erzeugt auf Mainwindow zuzulassen und Blitz bei gleichzeitig laufen, hier ist mein Code:
public class MyHelper
{
public static bool ExtendFrame(Window window, Thickness margin)
{
IntPtr hwnd = new WindowInteropHelper(window).Handle;
window.Background = Brushes.Transparent;
HwndSource.FromHwnd(hwnd).CompositionTarget.BackgroundColor = Colors.Transparent;
MARGINS margins = new MARGINS(margin);
DwmExtendFrameIntoClientArea(hwnd, ref margins);
return true;
}
[DllImport("dwmapi.dll", PreserveSig = false)]
static extern void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins);
}
struct MARGINS
{
public MARGINS(Thickness t)
{
Left = (int)t.Left;
Right = (int)t.Right;
Top = (int)t.Top;
Bottom = (int)t.Bottom;
}
public int Left;
public int Right;
public int Top;
public int Bottom;
}
und nannte es aus Window_Loaded() + Sie brauchen eine 'untere' Zeile, damit 'DllImport' funktioniert.
using System.Runtime.InteropServices;
using System.Windows.Interop;
- 1. Wie man view.getDrawingCache() Transparenz beibehalten
- 2. Wie ändert man die Transparenz einer Farbe in C#
- 3. Wie Alpha Transparenz in OpenGL verwenden?
- 4. Masken und Transparenz
- 5. Kann StreamSocketListener SignalR hosten?
- 6. Wie kann man die Transparenz eines PrimeFaces-Dialogs aufgeben?
- 7. Kann ich ein MMC-Snapin in einer Anwendung hosten?
- 8. wie Transparenz in vte.Terminal
- 9. MPMediaItemArtwork und Transparenz
- 10. Wie hosten Knoten JS und MongoDB
- 11. Verwenden von VLC zum Hosten eines Streams einer unendlichen Videoschleife
- 12. Wie kann ich Tkinter PNG-Transparenz unterstützen?
- 13. Wie kann man Quad-Präzision in Gfortran verwenden und überprüfen?
- 14. Kann ich svchost.exe verwenden, um meine eigenen Dienste zu hosten?
- 15. Wie kann man den detailedText von einer Zelle abrufen und dann in einer Funktion verwenden?
- 16. Einstellungen zum Hosten einer Anwendung in Cumulocity
- 17. Wie hosten Sie eine Website?
- 18. Kann ich WebRole und WorkerRole im selben CloudService hosten?
- 19. wo kann ich hosten meine Frühjahrsrest api und Datenbank
- 20. Wie kann man Bildlaufleisten verwenden?
- 21. Delphi, Direct2D, TBitmap und Transparenz
- 22. Scala in der Cloud bereitstellen und hosten?
- 23. Wie würde ich eine externe Anwendung in WPF hosten?
- 24. Kann ich eine glänzende App auf einer Windows-Maschine hosten?
- 25. Wie vermeidet man visuelle Artefakte beim Hosten von WPF-Benutzersteuerelementen in einer WinForms-MDI-App?
- 26. SwipeRefreshLayout kann nur ein direktes Kind hosten
- 27. UINavigationController Transparenz?
- 28. Wie kann man BatchNormLayer korrekt hinzufügen und verwenden?
- 29. Hosten einer ASP.NET-Seite als Steuerelement in einer HTML-Seite?
- 30. Platz Gradienten Hintergrundbild, Eckenradius und Transparenz
Für was es wert ist: Ich habe es ausprobiert und das WebBrowser-Steuerelement hostet Flash-Inhalte gut, aber Sie können die Luftraumbeschränkungen, die oben erwähnt werden, nicht verletzen. –