动态添加按钮网格

时间:2016-11-19 19:16:18

标签: c# wpf

我有一个非常基本的MainWindow,其中包含一个MenuStrip和3个按钮,如下所示:

enter image description here

我想添加一个按钮网格,但网格大小 - 按钮数量 - 将根据用户选择的级别而改变。级别1是5x5网格,级别2是7x7等。如何以编程方式将这些按钮添加到网格?目前我有:

O(1)

我已经阅读了有关如何操作的文章here,并且我尝试将文章中描述的<Window x:Name="medve_laszlo" x:Class="SavageMaci.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:SavageMaci" mc:Ignorable="d" Title="Medve László" Height="500" Width="700"> <Grid x:Name="grid"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Menu Grid.Row="1" Margin="38,0,187,430" Background="White"> <Menu.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform Angle="90"/> <TranslateTransform/> </TransformGroup> </Menu.RenderTransform> <MenuItem Header="Level 1" FontFamily="Roboto" Height="32" Width="65"/> <MenuItem Header="Level 2" FontFamily="Roboto" Height="32" Width="65"/> <MenuItem Header="Level 3" FontFamily="Roboto" Height="32" Width="65"/> </Menu> </Grid> </Window> 添加到我自己的网格中

DynamicGrid

但这会导致DynamicGrid重叠我的菜单。如果可行的话,我计划通过循环添加基于文章的元素。此外,现在启动应用程序时,我得到两个grid.Children.Add(DynamicGrid); 而不是一个,不知道它来自何处,但如果错误出现在这段代码中,请告诉我!

1 个答案:

答案 0 :(得分:0)

本文中的代码已经将DynamicGrid添加到窗口中:

// Display grid into a Window
RootWindow.Content = DynamicGrid;

,但在您的代码中,您将通过

再次添加它
grid.Children.Add(DynamicGrid);

同样在文章中,网格没有专门定位,不确定WPF是否工作方式不同,但在Windows窗体中它需要一个特定的位置。