2011-02-15 138 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);