我正在将UI从winforms转换为WPF。以前,选择树视图只会根据所选的树视图项显示不同的winform页面。现在,我插入了一个WPF DockPanel,每次选择一个treeview项时,都会将另一个winformhost元素添加到WPF DockPanel中。
现在当我用WPF DockPanel和WinformHostElements运行我的应用程序时,我的UI看起来像:
我有没有办法将样式应用到类似于winform控件的WPF DockPanel?
(这只是在我将所有winform元素转换为WPF元素时。)
答案 0 :(得分:1)
在WinForms和WPF之间进行转换并非易事。问题是XAML和WPF / UWP的设计考虑了MVVM模式。虽然您可以使用其他设计模式,但这样做会错过大约90%的XAML功能,并且在每次转弯时都会遇到问题。几年前我写了MVVM介绍:https://social.msdn.microsoft.com/Forums/vstudio/en-US/b1a8bf14-4acd-4d77-9df8-bdb95b02dbe2/lets-talk-about-mvvm?forum=wpf
您现在拥有的可能是MVVM的Model部分的可适用类。但也许转换是必要的:为了向后兼容(并填补一些空白),WPF确实有办法托管WindowsForm时代元素:https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/walkthrough-hosting-a-windows-forms-control-in-wpf