如何实现用户控件在一个面板(DockPanel)内单击时可见?
How to implement usercontrol to be visible on click inside one panel (DockPanel)?
我正在 WPF (C#) 中制作一个基本应用程序,我想在其中使用 UserControl。我已经创建了 3 个示例 UserControl 和一个包含按钮、标签、面板等的页面 window。我想在单击按钮时加载每个 UserControl。你可以在下面看到我的逻辑(代码)-
public partial class Dashboard : Window
{
public Dashboard()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
Dock_MainPanel.Controls.Clear();
Dock_MainPanel.Visible = true;
Sample1 usr1 = new Sample1();
usr1.Show();
Dock_MainPanel.Controls.Add(usr1);
}
private void btn2_Click(object sender, RoutedEventArgs e)
{
//SAMPLE CODE
}
}
现在我的问题是这段代码不起作用。它说明了一些错误。如下图所示-
Error shown in image
基本上,我想在单击各自的按钮时加载每个 UserControl。如果大家有其他解决方案,欢迎提出。
您应该在 DockPanel
中访问 'Children' 集合
Dock_MainPanel.Children.Clear();
Dock_MainPanel.Children.Add(usr1);
正如@Stefan W. 建议您应该将 UserControl
的一个实例添加到 DockPanel 的 Children 集合中,但是如果您打算向同一个 DockPanel
添加多个元素,您可能还想设置元素的附加 Dock
属性 用于指定元素在 DockPanel
中的位置。您可以使用 DockPanel.SetDock
方法执行此操作。此外,要使 DockPanel
可见,请将其 Visibility
设置为 Visibility.Visible
。试试这个:
private void btn1_Click(object sender, RoutedEventArgs e)
{
Dock_MainPanel.Children.Clear();
Dock_MainPanel.Visibility = Visibility.Visible;
Sample1 usr1 = new Sample1();
DockPanel.SetDock(usr1, Dock.Right);
Dock_MainPanel.Children.Add(usr1);
}
我正在 WPF (C#) 中制作一个基本应用程序,我想在其中使用 UserControl。我已经创建了 3 个示例 UserControl 和一个包含按钮、标签、面板等的页面 window。我想在单击按钮时加载每个 UserControl。你可以在下面看到我的逻辑(代码)-
public partial class Dashboard : Window
{
public Dashboard()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
Dock_MainPanel.Controls.Clear();
Dock_MainPanel.Visible = true;
Sample1 usr1 = new Sample1();
usr1.Show();
Dock_MainPanel.Controls.Add(usr1);
}
private void btn2_Click(object sender, RoutedEventArgs e)
{
//SAMPLE CODE
}
}
现在我的问题是这段代码不起作用。它说明了一些错误。如下图所示-
Error shown in image
基本上,我想在单击各自的按钮时加载每个 UserControl。如果大家有其他解决方案,欢迎提出。
您应该在 DockPanel
中访问 'Children' 集合 Dock_MainPanel.Children.Clear();
Dock_MainPanel.Children.Add(usr1);
正如@Stefan W. 建议您应该将 UserControl
的一个实例添加到 DockPanel 的 Children 集合中,但是如果您打算向同一个 DockPanel
添加多个元素,您可能还想设置元素的附加 Dock
属性 用于指定元素在 DockPanel
中的位置。您可以使用 DockPanel.SetDock
方法执行此操作。此外,要使 DockPanel
可见,请将其 Visibility
设置为 Visibility.Visible
。试试这个:
private void btn1_Click(object sender, RoutedEventArgs e)
{
Dock_MainPanel.Children.Clear();
Dock_MainPanel.Visibility = Visibility.Visible;
Sample1 usr1 = new Sample1();
DockPanel.SetDock(usr1, Dock.Right);
Dock_MainPanel.Children.Add(usr1);
}