在menuItem xaml中动态设置宽度和高度

时间:2015-12-15 06:12:19

标签: wpf xaml menu

我是XAML和WPF的新手,现在我似乎遇到了大问题。我将我的网格分为place_idGrid.RowDefinition,我将其中一个菜单设置为Grid.ColumnDefinition当窗口大小发生变化时,菜单大小会发生变化,但是menuItems的大小没有改变。我无法解释得很好,为此我给你看了两张照片 第一个是全屏幕,第二个是全屏幕

enter image description here

enter image description here

我的问题是:如何在各种尺寸的屏幕上显示效果(全屏和非全屏)以下是我的代码的一部分:

Grid.Column="1" Grid.Row="1"

3 个答案:

答案 0 :(得分:0)

可以通过ScaleTransform完成:

<TextBlock>
    <TextBlock.RenderTransform>
        <ScaleTransform ScaleX="1.2" ScaleY="1.2" />
    </TextBlock.RenderTransform>
  text
</TextBlock>

答案 1 :(得分:0)

enter image description here

如果你想这样,代码在这里

<Menu Height="20">
    <Menu.ItemsPanel>
        <ItemsPanelTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="20*"/>
                    <ColumnDefinition Width="50*"/>
                </Grid.ColumnDefinitions>
            </Grid>
        </ItemsPanelTemplate>
    </Menu.ItemsPanel>
    <MenuItem Height="20" Background="Gray" Foreground="White" Header="Settings" Grid.Column="0"></MenuItem>
    <MenuItem Height="20" Background="Gray" Foreground="White" Header="Help" Grid.Column="1"></MenuItem>
</Menu>

答案 2 :(得分:0)

  1. 不要将网格菜单用作最佳实践。使用DockPanel。

  2. 您希望Menu始终获得实际需要的高度。因此,将2nd RowDefinition的Height设置为Auto。

     <Grid.RowDefinitions>
          <RowDefinition Height="7*" />
          <RowDefinition Height="Auto" />
          <RowDefinition Height="13*" />
          <RowDefinition Height="15*" />
          <RowDefinition Height="65*" />
     </Grid.RowDefinitions>
    
相关问题