2012-04-25 90 views
1

我有一個窗體窗體,它調用其他窗體窗體,在我的應用程序中工作。我想完成的是擺脫這整個「窗體」的東西,並使用WPF視圖(usercontrol)來代替。有沒有一種方法可以將視圖從視圖中顯示出來?是否可以在Windows窗體中顯示xaml視圖

ElementHost host = new ElementHost(); 
      Cars.WPF.Views.DescriptionView descView = new Cars.WPF.Views.DescriptionView(); 
      host.Controls.Add(descView); 
      host.Dock = DockStyle.Fill; 

我得到錯誤: - >參數1:無法從 'Car.WPF.Views.DescriptionView' 到 'System.Windows.Forms.Control的'

回答

2

在你的winform添加面板(可以說PANEL1) 在類級別定義ElementHost的,此外,在一流水平

ElementHost host; 
Cars.WPF.Views.DescriptionView descView; 

定義WPF控件在窗體加載事件做:

host= new ElementHost(); 
panel1.Controls.Add(ctrlHost); //Add Element host to panel1 
descView = new Cars.WPF.Views.DescriptionView(); 
descView.InitializeComponent(); 
host.Child = descView; //Instead of adding WPF control to Winform do this 

也在你的項目中引用地址:

PresentationCore 
PresentationFramework 
WindowsBase 
1
+0

我試過使用元素主機,但它不喜歡它。 – Calvin 2012-04-25 16:59:09

+0

它不喜歡什麼。 WPF UserControl不顯示?綁定是否有效?鍵盤輸入無法識別?你有沒有試過簡單的開始,只需用一個簡單的WPF控件啓動一個新窗體?讓它工作? – 2012-04-25 17:01:22

+0

我已更新我的示例。 – Calvin 2012-04-25 17:01:29

相關問題