如何切换WPF UserControl

本文关键字:UserControl WPF 何切换 | 更新日期: 2023-09-27 18:21:38

当按下主窗口附带的UserControl1中的按钮时,我想更改为UserControl2。

主窗口.xaml

<Viewbox Grid.Row="1" HorizontalAlignment="Center">
        <Grid>
            <local:A x:Name="a" Margin="0,0" Width="1200" /> <--UserControl1
            <local:B x:Name="b" Margin="0,0" Width="1200" /> <--UserControl2
        </Grid>
    </Viewbox>

主窗口.xaml.cs

public MainWindow()
    {
        this.Closed += this.WindowClosed;
        this.InitializeComponent();
        this.a.Visibility = Visibility.Visible;
        this.b.Visibility = Visibility.Hidden;
    }

如果按钮点击超过

this.a.Visibility = Visibility.Hidden; 
this.b.Visibility = Visibility.Visible;

我怎样才能做到这一点?

如何切换WPF UserControl

在按钮点击事件中放入以下代码

Window w = Window.GetWindow(this);
if(null != w)
{
    ((UserControl)w.FindName("a")).Visibility = Visibility.Hidden;
    ((UserControl)w.FindName("b")).Visibility = Visibility.Visible;
}