代码之家  ›  专栏  ›  技术社区  ›  Timothy Pratley

如何使WinForms窗体作为Avalondock中的可停靠内容工作?

  •  4
  • Timothy Pratley  · 技术社区  · 15 年前

    我可以使用WinForms控件,但不能使用整个窗体:

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

    是否可以使用整个表单?我想利用申请中现有的表格。

    1 回复  |  直到 15 年前
        1
  •  7
  •   Hans Passant    15 年前

    可以将窗体转换为子控件:

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

    它本质上就是一个用户控件。