在 WPF 中的 WindowsFormsHost 控件上使用 SetWindowTheme() 吗?
我正在开发一个应用程序,它与 Windows 7 的设备阶段非常相似。在 Device Stage 中,主横幅下方有一个 ListView,其中包含体现为 ListViewItems 的操作。
在我的 WPF 应用程序中,我使用 WindowsFormsHost 托管 WinForms ListView,以便我可以在其上使用 SetWindowTheme()
并向其应用 Windows Vista/7 样式。
然而,这不起作用,并且无法达到与在 Windows 窗体中使用时相同的效果。
如何在 WPF 中的 ListView 上实现 Windows 7 外观?我不想创建一个自定义样式然后应用它,因为坦率地说,继续在这个应用程序中使用 WPF 实在是太痛苦了。
谢谢! :)
I have an application I'm developing which closely mirrors Windows 7's Device Stage. In Device Stage, beneath the main banner there is a ListView containing actions embodied as ListViewItems.
In my WPF application, I used WindowsFormsHost to host a WinForms ListView so that I could use SetWindowTheme()
on it and apply Windows Vista/7 styling to it.
This, however, does not work and doesn't achieve the same effect it does when used in Windows Forms.
How can I achieve the Windows 7 look on a ListView in WPF? I'm not looking to create a custom style then apply it because frankly that's too much of a pain in the ass to continue using WPF for this app.
Thanks! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需添加以下行:
Just add the following lines:
显然,经过深入研究后,唯一的答案似乎确实是在 WPF 中创建一个自定义设计的控件。
Apparently after digging around, the only answer does indeed appear to be creating a custom-designed control in WPF.