2014-02-25 91 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

使用網格而不是堆疊面板並將列寬設置爲「*」並將您的按鈕放在該網格中