2011-02-15 161 views
1

是否有将XAML WPF窗口转换为.Net 2.0 Windows窗体窗体的实用工具或转换器?将XAML WPF窗口转换为WinForm

+1

我不认为有任何..即使有..我不知道他们怎么能变平WPF的控制层次结构的WinForm控件... – 2011-02-15 18:54:12

+0

你是对的,但我需要基本的布局,或'图' – 2011-02-15 18:58:02

+0

难道你不能简单地使用[ElementHost](http://msdn.microsoft.com/en-us/library/system.windows.forms)将WPF控件嵌入到WinForms的窗口中.integration.elementhost.aspx)? – digEmAll 2011-02-15 19:00:41

回答

3

没有,而且也不太可能像这样的东西; WPF和WinForms是不同的框架,由于UI构成,布局差异,不同的定位系统等的差异,WPF UI不能真正转换为WinForms UI。

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);