Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据C#WPF中的条件将WPFUserControl添加到StackPanel_C#_Wpf_User Controls - Fatal编程技术网

如何根据C#WPF中的条件将WPFUserControl添加到StackPanel

如何根据C#WPF中的条件将WPFUserControl添加到StackPanel,c#,wpf,user-controls,C#,Wpf,User Controls,我有一个WPF格式的StackPanel。我有3个不同的WPF用户控件,我需要根据条件在面板中加载它们。任何想法,我知道它应该在后面的代码中完成,尝试将usercontrol添加到stackPanel中,但我无法找到add方法。我是否需要使用与堆栈面板不同的控件来执行此操作 <StackPanel Panel.ZIndex="1" x:Name="pnlRightMenu" Orientation="Horizontal" HorizontalAlignment="Right" Margi

我有一个WPF格式的
StackPanel
。我有3个不同的WPF用户控件,我需要根据条件在面板中加载它们。任何想法,我知道它应该在后面的代码中完成,尝试将usercontrol添加到stackPanel中,但我无法找到add方法。我是否需要使用与堆栈面板不同的控件来执行此操作

<StackPanel Panel.ZIndex="1" x:Name="pnlRightMenu" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,403,-576,342" Grid.Column="1" Width="576" VerticalAlignment="Center">
    <Border BorderBrush="Transparent" BorderThickness="1" Width="550" Background="#4C808080" Margin="0,-163,0,-126" >
        <Grid>
            <Button x:Name="btnRightMenuHide" Click="btnRightMenuHide_Click" Content="&gt;&gt;" Margin="-16,-191,0,0" FontSize="10" RenderTransformOrigin="-1.338,2.571" VerticalAlignment="Top" HorizontalAlignment="Left" Visibility="Hidden"/>
        </Grid>
    </Border>
</StackPanel>

您可以将任何
ui元素
添加到
StackPanel
子元素
集合中:

pnlRightMenu.Children.Add(new UserControl1());
private void btnRightMenuHide_Click(object sender, RoutedEventArgs e)
{
    switch (condition)
    {
        case "case 1":
            UserControl1 uc1 = new UserControl1();
            pnlRightMenu.Children.Add(uc1);
            break;
        case "case 2":
            UserControl2 uc2 = new UserControl2();
            pnlRightMenu.Children.Add(uc2);
            break;
        case "case 3":
            UserControl3 uc3 = new UserControl3();
            pnlRightMenu.Children.Add(uc3);
            break;
    }
}

您可以将任何
ui元素
添加到
StackPanel
子项
集合中:

pnlRightMenu.Children.Add(new UserControl1());
private void btnRightMenuHide_Click(object sender, RoutedEventArgs e)
{
    switch (condition)
    {
        case "case 1":
            UserControl1 uc1 = new UserControl1();
            pnlRightMenu.Children.Add(uc1);
            break;
        case "case 2":
            UserControl2 uc2 = new UserControl2();
            pnlRightMenu.Children.Add(uc2);
            break;
        case "case 3":
            UserControl3 uc3 = new UserControl3();
            pnlRightMenu.Children.Add(uc3);
            break;
    }
}

在按钮单击事件处理程序中,您将希望在条件之间切换

使用开关将用户控件的新实例附加到StackPanel的子集合:

pnlRightMenu.Children.Add(new UserControl1());
private void btnRightMenuHide_Click(object sender, RoutedEventArgs e)
{
    switch (condition)
    {
        case "case 1":
            UserControl1 uc1 = new UserControl1();
            pnlRightMenu.Children.Add(uc1);
            break;
        case "case 2":
            UserControl2 uc2 = new UserControl2();
            pnlRightMenu.Children.Add(uc2);
            break;
        case "case 3":
            UserControl3 uc3 = new UserControl3();
            pnlRightMenu.Children.Add(uc3);
            break;
    }
}

在按钮单击事件处理程序中,您将希望在条件之间切换

使用开关将用户控件的新实例附加到StackPanel的子集合:

pnlRightMenu.Children.Add(new UserControl1());
private void btnRightMenuHide_Click(object sender, RoutedEventArgs e)
{
    switch (condition)
    {
        case "case 1":
            UserControl1 uc1 = new UserControl1();
            pnlRightMenu.Children.Add(uc1);
            break;
        case "case 2":
            UserControl2 uc2 = new UserControl2();
            pnlRightMenu.Children.Add(uc2);
            break;
        case "case 3":
            UserControl3 uc3 = new UserControl3();
            pnlRightMenu.Children.Add(uc3);
            break;
    }
}