2010-07-12 16 views
4

Je suis en mesure d'utiliser des contrôles WinForms, mais pas une forme entière:Comment créer un formulaire WinForms en tant que contenu DockableContent dans AvalonDock?

 var foo = new DockableContent(); 
     foo.Title = "Foo"; 
     foo.Name = "FooName"; 


     var c = new WindowsAppFramework.RenderTargetUserControl(); 
     c.Dock = System.Windows.Forms.DockStyle.Fill; 
     c.AutomaticUpdateFPS = 60; 

     var host = new System.Windows.Forms.Integration.WindowsFormsHost(); 
     host.Child = c; 

     foo.Content = host; 
     foo.ShowAsDocument(dockManager); 
     foo.Focus(); 

Est-il possible d'utiliser un formulaire complet? Je veux utiliser des formulaires existants dans l'application.

Répondre

7

Vous pouvez transformer une forme en un contrôle enfant:

var frm = new Form1(); 
    frm.TopLevel = false; 
    frm.Visible = true; 
    frm.FormBorderStyle = FormBorderStyle.None; 

qui se essentiellement en un UserControl.

+0

merci - fonctionne un charme –

+0

maintenant c'est un conseil pratique – Boinst