WPF 형식으로 플래시 내용을 호스팅하고 WPF 창에서 투명도/알파를 계속 사용하려면 어떻게해야합니까? WinForms 플래시 컨트롤을 호스팅하면이를 허용하지 않습니다.WPF 응용 프로그램에서 Flash 내용을 호스팅하고 투명도를 사용하려면 어떻게해야합니까?
답변
Flash 내용을 표시하는 데 사용하는 컨트롤이 WPF로 작성되어 있지 않으면 이러한 "공역"문제로 실행됩니다. Win32에서 WinForms에 이르기까지 모든 디스플레이 기술은 HWND를 "내부적으로"사용했지만 WPF는 DirectX를 사용합니다. 그러나 Windows의 창 관리자는 여전히 HWND 만 인식하므로 WPF 응용 프로그램에는 최상위 수준의 HWND 기반 창 하나가 있으며 그 아래의 모든 내용은 DirectX에서 처리됩니다 (사실 컨텍스트 메뉴와 툴팁에도 최상위 HWND가 있습니다) . Adam Nathan은 this article에 WPF interop에 대한 설명이 있습니다.
Expression을 사용하여 플래시 콘텐츠를 XAML로 변환 할 수 있습니까? 나는 거기에 도구가 있다는 것을 믿습니다.
아직 해본 적이 없지만 WPF 3.5 sp1에있는 WebBrowser 컨트롤을 사용하여 WPF 내에서 Flash 내용을 래핑 할 수 있습니다. 투명도가 어떻게 영향을 받을지 모르겠습니다.
업로드하는 방법과 동일한 문제로 어려움을 겪고 있습니다. & MainWindow에서 "투명성 허용"을 선택하면 응용 프로그램이 실행되면 Flash가 표시되지 않으므로 Flash를 표시하는 기능으로 WPF를 투명하게 만듭니다.
1) 나는 WebBrowser 컨트롤을 사용하여 Flash (.swf) 파일을 재생했습니다. 그들은 내 PC에 있지만 인터넷이나 어디에서나 재생할 수 있습니다. WebBrowser 컨트롤의 이름을 C#으로 지정하는 것을 잊지 마십시오. 투명성 이제
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MyHelper.ExtendFrame(this, new Thickness(-1));
this.MyBrowser.Navigate(@"C:\Happy\Download\flash\PlayWithMEGame.swf");
}
2). WPF에서 'false'를 "Allow Transparency"로 설정하고 "Window Style"을 'None'으로 설정했습니다.) (
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;
}
그리고 Window_Loaded에서라고 : 그 후 나는 HERE 및 HERE 정보를 사용 MainWindow를에 투명성을 허용하고 동시에 플래시를 실행 원하는 효과를 제작 한 다음 코드를 만들었습니다, 여기에 내 코드입니다 + 'DllImport'가 작동하려면 '아래'라인이 필요합니다.
using System.Runtime.InteropServices;
using System.Windows.Interop;
- 1. Java 응용 프로그램에서 대상 라이브러리를 사용하려면 어떻게해야합니까?
- 2. Java 응용 프로그램에서 TypedActor를 사용하려면 어떻게해야합니까?
- 3. 콘솔 응용 프로그램에서 타이머를 사용하려면 어떻게해야합니까?
- 4. 파이썬 코드를 C++ 응용 프로그램에서 사용하려면 어떻게해야합니까?
- 5. 내 iPhone 응용 프로그램에서 캘린더를 사용하려면 어떻게해야합니까?
- 6. Flash 응용 프로그램에서 쿠키를 만들려면 어떻게해야합니까?
- 7. WPF 응용 프로그램에서 Flash swf 또는 exe 메서드 호출
- 8. Java Micro Edition 응용 프로그램에서 Flash 내용을 사용하는 방법은 무엇입니까?
- 9. Flex/Flash 프로젝트에서 x264 라이브러리를 사용하려면 어떻게해야합니까?
- 10. Flash Builder AIR 응용 프로그램에서 Flash CS4 에셋 사용
- 11. 클래스 라이브러리에서 WPF 창을 사용하려면 어떻게해야합니까?
- 12. 전체 화면 XNA 응용 프로그램에서 winform을 사용하려면 어떻게해야합니까?
- 13. C# 응용 프로그램에서 단일 FILE 데이터베이스를 사용하려면 어떻게해야합니까?
- 14. Flex 4 웹 응용 프로그램에서 Google Checkout 기능을 사용하려면 어떻게해야합니까?
- 15. WinForms 응용 프로그램에서 Delphi (2007) 컨트롤을 사용하려면 어떻게해야합니까?
- 16. Adobe AIR 응용 프로그램에서 File Explorer/Navigator를 사용하려면 어떻게해야합니까?
- 17. 레일 응용 프로그램에서 rdbms 및 mongodb를 사용하려면 어떻게해야합니까?
- 18. SAP에서 호스팅하고 .NET 응용 프로그램에서 사용하는 웹 서비스
- 19. WPF DataTemplate에서 DataType 속성을 사용하려면 어떻게해야합니까?
- 20. WPF 응용 프로그램에서 GDI + 사용
- 21. Perl 프로그램에서 cURL 또는 Wget을 사용하려면 어떻게해야합니까?
- 22. Chrome 확장 프로그램에서 Python을 사용하려면 어떻게해야합니까?
- 23. LINQ에 WPF TreeView HierarchicalDataTemplate을 사용하려면 어떻게해야합니까?
- 24. WPF 응용 프로그램에서 플래시를 재생하는 방법
- 25. 내 응용 프로그램에서 모질라 제어를 사용하려면
- 26. Flash 응용 프로그램에서 Tab 키가 이상하게 비활성화되었습니다.
- 27. Facebook Flash 응용 프로그램에서 인증하는 방법은 무엇입니까?
- 28. Flash 응용 프로그램에서 Python 시뮬레이션 Keypress
- 29. Flash/Flex 응용 프로그램에서 Ogg Vorbis 사용
- 30. WPF - WPF 응용 프로그램에서 xbap으로 전환
가치가있다 : 나는 이것을 시도했으며 WebBrowser 컨트롤은 Flash 내용을 멋지게 호스팅하지만 위에서 언급 한 공역 제한을 위반할 수는 없습니다. –