我写这个方法不起作用
UserControl us = new UserControl();
us.Show();
答案 0 :(得分:1)
您的控件必须位于窗口
中Window Window = new Window();
// window has a single content
// here it is usercontrol1
// to have many controls, use an intermediary like Grid or Canvas or any Panel derived class
window.Content = usercontrol1;
必须打开窗口。
// modeless (non blocking) opening
window.Show();
或
// modal (blocking) opening
window.Showdialog();
此致
答案 1 :(得分:1)
您无法显示UserControl
。将您的UserControl
更改为Window
。
XAML:
<Window x:Class="WindowsFormsApplication1.MyWindow"
而不是
<UserControl x:Class="WindowsFormsApplication1.UserControl1"
并在您的代码隐藏中,更改
public partial class UserControl1 : UserControl
到
public partial class MyWindow: Window
现在您可以致电new MyWindow().Show();
。主要的好处是,通过在其中添加Windows窗体对话框和ElementHost以及UserControl,您不会使应用程序负担过重。
这样,您还可以从调用的Windows窗体类访问UserControl / Window的子窗口。