2014-02-25 58 views
0

我有一个WPF窗口,主持一个简单的主页按钮布局,顶部一排按钮和一个视频源 ,但是当我最大化窗口。布局与标准视图不同步。如何优化全屏视图的窗口布局? WPF

我试图通过设置图像元素stretch "fill"但顶部按钮排不看也均匀home键搬迁到屏幕的中心,不好看弥补一些布局

我的问题我该如何调整xaml布局属性以支持标准和最大化视图?

这是窗口的布局:

<Window x:Class="KinectKickboxingBVversion1.TrainingFrm" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="TrainingFrm" Height="377.612" Width="637.313" Loaded="Window_Loaded"> 

    <Grid> 

     <StackPanel Orientation="Horizontal" > 
      <Button x:Name="jabBtn" Background="BlueViolet" Content="Jab" Width="100" Height="50" Click="jabBtn_Click" HorizontalAlignment="Center" VerticalAlignment="Top"/> 
      <Button x:Name="crossBtn" Background="BlueViolet" Content="Cross" Width="100" Height="50" Click="crossBtn_Click" HorizontalAlignment="Center" VerticalAlignment="Top"/> 
      <Button x:Name="jabCrossHookBtn" Background="BlueViolet" Content="Jab-Cross-Hook" Width="100" Height="50" Click="jabCrossHookBtn_Click" HorizontalAlignment="Center" VerticalAlignment="Top"/> 
      <Button x:Name="pKickBtn" Content="Push Kick" Background="BlueViolet" Width="100" Height="50" Click="pKickBtn_Click" HorizontalAlignment=" Center" VerticalAlignment="Top"/> 
      <Button x:Name="blockBtn" Content="Kick Block" Background="BlueViolet" Width="100" Height="50" Click="blockBtn_Click" HorizontalAlignment=" Center" VerticalAlignment="Top"/> 
      <Label Content="SCORE: " x:Name="lblScore" Visibility="Collapsed"/> 
      <TextBlock x:Name="tblkScore" /> 
     </StackPanel> 
     <Viewbox Grid.Row="1" Stretch="Uniform" HorizontalAlignment="Center"> 

      <Image x:Name="KinectVideo" Width="640" Height="250" Visibility="Visible" Stretch="Fill" /> 

     </Viewbox> 


     <Button x:Name="homeBtn" Content="" Width="50" Click="homeBtn_Click" Height="35" Margin="272,294,277,10" > 

      <Button.Background> 
       <ImageBrush ImageSource="Images/ContentIcon.png" /> 
      </Button.Background> 

     </Button> 
    </Grid> 
</Window> 

When maximised When normal size

回答

2

你的按钮都是一个固定的大小。 StackPanel只是将它们紧挨着放在一起,所以当你的屏幕尺寸更大时,最终会留下剩余的空间。

与您的主页按钮相同。它正在通过绝对的利润来定位。

您可以通过使用顶部按钮的6个网格列和删除主页按钮上的边距并将其设置为HorizontalAlignment="Center" VerticalAlignment="Bottom"来制作布局流体。

但是,这仍然会导致按钮上的文字变得更小。如果您希望显示屏始终具有相同的比例,则您可以更简单地将整个显示屏放在ViewBox中。

0

使用网格而不是堆叠面板并将列宽设置为“*”并将您的按钮放在该网格中