我的WPF主窗体如下图 ,有5行1列,然后三个按钮,我要实现点击其中一个按钮动态加载控件
<Window x:Class="LQ.MES.BurnSyetem.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:LQ.MES.BurnSyetem"
mc:Ignorable="d"
Title="MainWindow" Height="754.444" Width="1409.952" Loaded="Window_Loaded">
<Grid x:Name="GridControl" ShowGridLines="True" RenderTransformOrigin="0.5,0.49">
<Grid.RowDefinitions>
<RowDefinition Height="34*"></RowDefinition>
<RowDefinition Height="62*"></RowDefinition>
<RowDefinition Height="138*"></RowDefinition>
<RowDefinition Height="118*"></RowDefinition>
<RowDefinition Height="373*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Menu Grid.Row="0" Grid.Column="0" Margin="0,0,0.2,1.4">
<MenuItem Name="menuConfig" Header="系统参数配置" Click="menuConfig_Click" Height="31"/>
<MenuItem Name="menuFlashRunner" Header="小黑盒烧录" Click="menuFlashRunner_Click"/>
<MenuItem Name="FlashRunner" Header="FlashRunner烧录" Click="FlashRunner_Click"/>
</Menu>
</Grid>
</Window>
//主窗体第一行内再加载一个10列的Grid
Grid msggrid = new Grid();
msggrid.Name = "Msggrid";
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ColumnDefinitions.Add(new ColumnDefinition());
msggrid.ShowGridLines = true;
//Button,开始暂停按钮
Button btnsta = new Button();
btnsta.Content = "开始";
btnsta.Name = "btnSta";
var btnend = new Button();
btnend.Content = "结束";
btnend.Name = "btnend";
//创建一个StackPanel用于存放Button开始暂停按钮
var wrappanel = new StackPanel();
wrappanel.Orientation = Orientation.Horizontal;
wrappanel.Children.Add(btnsta);
wrappanel.Children.Add(btnend);
//存放开始暂停按钮的GroupBox
var functiongroup = new GroupBox();
functiongroup.Header = "运行";
functiongroup.HorizontalAlignment = HorizontalAlignment.Stretch;
functiongroup.VerticalAlignment = VerticalAlignment.Stretch;
functiongroup.BorderBrush = Brushes.Gray;
functiongroup.Padding = new Thickness(50);
functiongroup.BorderThickness = new Thickness(3);
functiongroup.Content = wrappanel;
//存放基础信息的GroupBox
var basicinformationgroup = new GroupBox();
basicinformationgroup.Header = "基础信息";
basicinformationgroup.HorizontalAlignment = HorizontalAlignment.Stretch;
basicinformationgroup.BorderBrush = Brushes.Gray;
basicinformationgroup.Padding = new Thickness(50);
basicinformationgroup.BorderThickness = new Thickness(3);
//将msggrid放到主窗体Grid的第一行
Grid.SetRow(msggrid, 1);
Grid.SetColumn(msggrid, 0);
GridControl.Children.Add(msggrid);
//将存放开始暂停按钮的GroupBox放到msggrid里面
Grid.SetRow(functiongroup, 0);
Grid.SetColumn(functiongroup, 0);
Grid.SetColumnSpan(functiongroup, 2);
msggrid.Children.Add(functiongroup);
//将存放基础信息按钮的GroupBox放到msggrid里面
Grid.SetRow(basicinformationgroup, 1);
Grid.SetColumn(basicinformationgroup, 3);
Grid.SetColumnSpan(basicinformationgroup, 7);
msggrid.Children.Add(basicinformationgroup);
但是我把对应GroupBox的Content换成Header他就能正常的显示在Header这个地方
我想要达到的结果就是我的Button控件能正常显示到GroupBox的Content