我有一个非常基本的MainWindow,其中包含一个MenuStrip和3个按钮,如下所示:
我想添加一个按钮网格,但网格大小 - 按钮数量 - 将根据用户选择的级别而改变。级别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);
而不是一个,不知道它来自何处,但如果错误出现在这段代码中,请告诉我!
答案 0 :(得分:0)
本文中的代码已经将DynamicGrid添加到窗口中:
// Display grid into a Window
RootWindow.Content = DynamicGrid;
,但在您的代码中,您将通过
再次添加它grid.Children.Add(DynamicGrid);
同样在文章中,网格没有专门定位,不确定WPF是否工作方式不同,但在Windows窗体中它需要一个特定的位置。