2015-09-22 108 views
0

如何添加一個wpf usercontrolwinforms usercontrol?嘗試使用元素主機託管Wpf usercontrol,如下所示。添加的子控件不會在設計和運行時顯示。如何將一個WPF usercontrol內WInforms usercontrol?

public partial class WinformsUC: UserControl 
{ 
    public WinformsUC() 
    { 
     InitializeComponent(); 
     try 
     { 
      var eH = new ElementHost {Dock = DockStyle.Fill, Child = new WpfUserControl()}; 
      Controls.Add(eH); 
     } 
     catch (Exception exception) 
     { 
      Log.Debug(Constructor : " + exception.Message); 
     } 
    } 
} 
+0

@ user1874589你確定你所添加的Windows用戶控件到主窗口的形式,並添加了WPFUsercontrol內的一些內容?它適用於我的代碼。 –

+0

是的,這是一個Windows用戶控件不是一個WPF用戶控件和WPF用戶控件具有WPF控件作爲內容。 – user1874589

回答

0

你可以做,使用system.windows.forms.integration.elementhost

例子:

private ElementHost ctrlHost; 
private UIElement wpfUserControl; 

// in the from the load event handler 
ctrlHost = new ElementHost(); 
ctrlHost.Dock = DockStyle.Fill; 
panel1.Controls.Add(ctrlHost); 
wpfUserControl= new WpfUserControl(); 

//we need to manually call initializecomponent if it is not called 
//in the constructor of your control 
wpfUserControl.InitializeComponent(); 
ctrlHost.Child = wpfInputControl;