【发布时间】:2020-06-27 03:30:13
【问题描述】:
我在 c# 中有一个 WPF 应用程序我有两个用户控件和主窗口,我的第一个用户控件是 usercontrol1,它通过一个按钮和事件单击来保存我的菜单,我在我的主窗口名称 uscholder 上有一个网格来加载 usercontrol2我从 usercontrol1 上的按钮事件单击发送。
这是我的 usercontrol1.cs
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
UserControl2 usc = new UserControl2();
MainWindow maingrid = new MainWindow();
if (maingrid.uscholder != null)
{
maingrid.uscholder.Children.Clear();
maingrid.uscholder.Children.Add(usc);
}
else
{
maingrid.uscholder.Children.Add(usc);
}
}
}
这是我的 XAML
<Window x:Class="WpfApp5.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp5"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid >
<local:UserControl1 HorizontalAlignment="Left" Width="262"></local:UserControl1>
<Grid x:Name="uscholder" Margin="267,0,-0.4,0"/>
</Grid>
</Window>
这是我的用户控件 XAML
<UserControl x:Name="use1" x:Class="WpfApp5.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp5"
mc:Ignorable="d"
d:DesignHeight="450" Width="226.303">
<Grid Margin="0,0,0.4,-0.4">
<Button Content="Button" HorizontalAlignment="Left" Margin="42,166,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
</Grid>
</UserControl>
【问题讨论】: