![]() |
1
3
如果希望WPF和Windows窗体内容共享同一窗口,则没有解决方法。 WPF通过Direct3D进行渲染,而Windows窗体使用gdi+,这最终基于旧的gdi32渲染机制。Windows本身不提供使用这两种不同技术渲染窗口的同一区域的方法-您最终得到的是Direct3D拥有和渲染的Hwnd(由WPF使用),以及Windows窗体拥有和渲染的不同Hwnd。这些硬件在它们之间的包含窗口中分割出空间,不能重叠。 如果要重叠WPF和Windows窗体内容,唯一支持的方法是将它们放在单独的顶级窗口中-Windows 在桌面级别支持重叠的win32和direct3d内容。您可以使用每像素透明度来制作非矩形窗口(WPF或Windows窗体)。因此,您可以关闭WPF应用程序中的所有窗口边框,并使背景透明,如果启用了透明,则可以将该窗口与Windows窗体窗口在屏幕上完全相同的位置放置,此时,您可以将WPF内容放在Windows窗体内容的顶部。 不用说,这是一件乏味的事情。但不幸的是,如果您真正需要Windows窗体内容之上的WPF内容,那么您需要这样做—您需要将WPF内容放在单独的窗口中。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |
![]() |
Barta · WPF MVVM不更新视图 6 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 6 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 6 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 10 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |