将VB.NET设计器代码转换为WPF Xaml

将VB.NET设计器代码转换为WPF Xaml,wpf,vb.net,winforms,xaml,Wpf,Vb.net,Winforms,Xaml,我知道,我知道,在你们回答WPF和Winforms不同之前,我已经知道了。我们使用的是Csla,所以我们所有的代码都是正确分开的。我只需要重做UI,我需要一个好方法将UI从Winforms转换到Xaml。只是表格。我不是说任何代码或任何东西。我只想转换原始对话框和控件。Winforms中的文本框是Xaml中的文本框。我不希望有任何自定义控件或其他东西。因此,我们的应用程序一直在使用本机.NET控件 所以,我的问题是。有人知道如何将Winforms对话框转换为Xaml对话框吗?例如,获取winfo

我知道,我知道,在你们回答WPF和Winforms不同之前,我已经知道了。我们使用的是Csla,所以我们所有的代码都是正确分开的。我只需要重做UI,我需要一个好方法将UI从Winforms转换到Xaml。只是表格。我不是说任何代码或任何东西。我只想转换原始对话框和控件。Winforms中的文本框是Xaml中的文本框。我不希望有任何自定义控件或其他东西。因此,我们的应用程序一直在使用本机.NET控件

所以,我的问题是。有人知道如何将Winforms对话框转换为Xaml对话框吗?例如,获取winforms designer文件并将其转换为Xaml。我想要的只是尽可能多的原始控件,比如标签、文本框等。没有代码隐藏、没有数据绑定、没有自定义控件等等

我们的应用程序有数百个对话框,如果我只需要表单上的控件就可以得到一些东西,那么手动重新创建每个对话框将节省我们数千小时。

是和否

是的,这是可能的,基本上是通过复制和粘贴WinForms Designer生成的代码,并执行一系列查找和替换操作,将WinForms名称空间和名称替换为WPF的等效名称(例如,
Top/Left
与WPF的
Margin
)。虽然它不是XAML(而是类似于XAML生成的
*.g.cs
文件),但它将是WPF,但不会对用户友好(正如@highCore所提到的,因为您没有利用WPF的布局和分辨率独立机制)


但是,在XAML中重新实现表单和对话框所需的时间其实并不多——对于一个中等复杂的表单,可能需要10-20分钟,前提是您已经能够胜任XAML,并且正在采用MVVM等现代技术,并且手工操作而不是使用设计师(因为设计师似乎从来都不会把事情做好……)

这种方法的问题是winforms的布局是基于X,Y的(因此定义为固定大小和固定位置),而WPF是与分辨率无关的,默认情况下是基于相对位置的。如果你在重写,你应该花点时间把它做好。谢谢戴和高科。