将XAML WPF窗口转换为WinForm

时间:2011-02-15 18:48:35

标签: c# wpf xaml windows-forms-designer

是否有任何实用程序或转换器将XAML WPF窗口转换为.Net 2.0 Windows窗体表单?

3 个答案:

答案 0 :(得分:3)

不,并且不可能有这样的事情; WPF和WinForms是完全不同的框架,由于UI组成,布局差异,不同定位系统等的差异,WPF UI无法真正转换为WinForms UI。

答案 1 :(得分:2)

没有工具可以将其转换。使用ElementHost在WPF中加载WPF组件可能是值得的,这样您就不需要转换并可以重用WPF组件。如果你有一个WPF窗口,你需要将它转换为UserControl才能工作。

修改

.Net 2 code to load WPF control

    string dllPath = "C:\\ProjectsTest\\TestSolution\\ActiveXUser\\bin\\Debug\\TestControl.dll";
if (!File.Exists(dllPath)) {
    return;
}

string versionInformation = null;
versionInformation = Environment.Version.Major.ToString() + Environment.Version.Minor;

Assembly loadedAssembly = Assembly.LoadFile(dllPath);

Type[] mytypes = loadedAssembly.GetTypes();

Type t = mytypes[1];
Object obj = Activator.CreateInstance(t);

versionInformation = Environment.Version.Major.ToString() + Environment.Version.Minor;
this.Panel1.Controls.Add(obj);

答案 2 :(得分:0)

也许你可以将这个Xaml库用于WinForms?

https://winformsxaml.codeplex.com