在MVVM中自动停止调整大小

时间:2017-11-07 08:00:06

标签: wpf xaml mvvm

我在WPF MVVM中工作。我有两个包含在网格中的按钮,网格包含在viewBox中,viewBox包含在Window中。当我最大化窗口时,我不希望按钮的大小上升。我的问题是:我可以通过XAML代码管理它吗?

为按钮设置了这些属性:

<Button x:Name="openButton" Content="Open" HorizontalAlignment="Left" Margin="9,14,0,0" VerticalAlignment="Top" Width="75" Padding="0.1" Command="{Binding OpenCommand}"/>
<Button x:Name="closeButton" Content="Close" HorizontalAlignment="Left" Margin="10,43,0,0" VerticalAlignment="Top" Width="75" Padding="0.1" Command="{Binding CloseCommand}"/>

1 个答案:

答案 0 :(得分:0)

您可以将高度设置为按钮或包含它的行。例如:

<Grid>
   <Grid.RowDefinition>
       <RowDefinition Height = "Auto"/>
       <RowDefinition Height = "Auto"/>
   </Grid.RowDefinition>
   <Button Grid.Row="0" x:Name="openButton" Content="Open" HorizontalAlignment="Left" Margin="9,14,0,0" VerticalAlignment="Top" Width="75" Padding="0.1" Command="{Binding OpenCommand}"/>
   <Button Grid.Row="1" x:Name="closeButton" Content="Close" HorizontalAlignment="Left" Margin="10,43,0,0" VerticalAlignment="Top" Width="75" Padding="0.1" Command="{Binding CloseCommand}"/>  
</Grid> 

将行的高度设置为自动意味着将根据行内容调整大小;因为默认情况下按钮的高度应该是25像素,如果你没有将它们绑定在容器内,这个尺寸将相应于窗口的大小增长。您还需要在按钮中指定Grid.Row属性。在我的例子中,我已经定义了两行垂直堆叠按钮,但你可以定义一行和两列来水平堆叠它们