2016-09-11 214 views
0

我有一個wpf應用程序。當我在臺式電腦上啓動它時,它看起來很棒。但是當我用小屏幕尺寸的筆記本電腦啓動應用程序時,我的一個窗口可以不適合。 它看起來是這樣的 enter image description here在較小的屏幕尺寸下適合尺寸的內容

當我把一套大小的內容WidhtAndHeight,我得到 enter image description here

這符合我的窗口,但我的兩個向下按鈕右邊的窗口的邊緣。我想在按鈕和窗口邊緣之間留出一些額外的空間。 我嘗試設置

高度= 「{結合SystemParameters.PrimaryScreenHeight}」

寬度= 「{結合SystemParameters.PrimaryScreenWidth}」>

高度=「{X:靜態SystemParameters .PrimaryScreenHeight}」

寬度= 「{x:靜態SystemParameters.PrimaryScreenWidth}」

,但它給了我與第二張照片相同的結果。

我的XAML:

<Window x:Class="Zavod.Objekat.ObjekatIzmena" 
     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:Zavod.Objekat" 
     mc:Ignorable="d" 
     Title="sadas" Height="796" Width="1114" ResizeMode="CanMinimize" WindowStartupLocation="CenterScreen" FontFamily="Verdana" SizeToContent="WidthAndHeight" Background="#FFA38566" Loaded="Window_Loaded"> 
    <Grid Margin="0,0,4,0"> 
    <TabControl x:Name="tabControl" HorizontalAlignment="Left" Height="626" VerticalAlignment="Top" Width="1104" Background="#FFA38566"> 
      <TabItem Header="Општи подаци"> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="459"></ColumnDefinition> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Label x:Name="label" Content="Кључ:" HorizontalAlignment="Right" Margin="345,24,0,0" VerticalAlignment="Top"/> 
        <Label x:Name="label_Copy" Content="Повезивање:" HorizontalAlignment="Right" Margin="345,55,0,0" VerticalAlignment="Top"/> 
        <Label x:Name="label_Copy1" Content="Линк за слику 1:" HorizontalAlignment="Right" Margin="345,86,0,0" VerticalAlignment="Top"/> 
        <Label x:Name="label_Copy2" Content="Линк за слику 2:" HorizontalAlignment="Right" Margin="345,117,0,0" VerticalAlignment="Top"/> 
        <Label x:Name="label_Copy3" Content="Линк за слику 3:" HorizontalAlignment="Right" Margin="345,148,0,0" VerticalAlignment="Top"/> 
        <Label x:Name="label_Copy4" Content="Линк за слику 4:" HorizontalAlignment="Right" Margin="345,179,0,0" VerticalAlignment="Top"/> 
        <TextBox x:Name="textBoxKljuc" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,27,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="30" IsEnabled="False"/> 
        <TextBox x:Name="textBoxPovezivanje" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="30" IsEnabled="False"/> 
        <TextBox x:Name="textBoxLinkZaSliku1" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,89,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="250" Background="#FFECE7B7"/> 
        <TextBox x:Name="textBoxLinkZaSliku2" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,120,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="250" Background="#FFECE7B7"/> 
        <TextBox x:Name="textBoxLinkZaSliku3" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,151,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="250" Background="#FFECE7B7"/> 
        <TextBox x:Name="textBoxLinkZaSliku4" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="10,181,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="250" Background="#FFECE7B7"/> 


       </Grid> 
      </TabItem> 
</TabControl> 
<Button x:Name="buttonSnimiObjekat" Content="Измени" HorizontalAlignment="Left" Margin="231,660,0,0" VerticalAlignment="Top" Width="75" Click="buttonSnimiObjekat_Click"/> 
     <Button x:Name="buttonOdustani" Content="Откажи" HorizontalAlignment="Left" Margin="816,660,0,0" VerticalAlignment="Top" Width="75" Click="buttonOdustani_Click" /> 


    </Grid> 
</Window> 
+0

顯示完整的xaml代碼。 –

+0

我編輯了評論 – nscott23

+1

在xaml中使用硬編碼大小是一種不好的做法。 如果你刪除它,你會看到不同之處。 –

回答

1

看到一個例子佈局應如何創建:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="5" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <TabControl x:Name="tabControl"> 
     <TabItem Header="Општи подаци"> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" /> 
        <ColumnDefinition Width="5" /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" /> 
        <RowDefinition Height="5" /> 
        <RowDefinition Height="Auto" /> 
        <RowDefinition Height="5" /> 
        <RowDefinition Height="Auto" /> 

       </Grid.RowDefinitions> 

       <Label x:Name="label" 
         Content="Кључ:" /> 
       <Label x:Name="label_Copy" 
         Content="Повезивање:" 
         Grid.Row="2" /> 
       <Label x:Name="label_Copy1" 
         Content="Линк за слику 1:" 
         Grid.Row="4" /> 

       <TextBox x:Name="textBoxKljuc" 
         Grid.Column="2" 
         TextWrapping="Wrap" 
         IsEnabled="False" /> 
       <TextBox x:Name="textBoxPovezivanje" 
         Grid.Column="2" 
         Grid.Row="2" 
         TextWrapping="Wrap" 
         IsEnabled="False" /> 
       <TextBox x:Name="textBoxLinkZaSliku1" 
         Grid.Column="2" 
         Grid.Row="4" 
         TextWrapping="Wrap" 
         Background="#FFECE7B7" /> 

      </Grid> 
     </TabItem> 
    </TabControl> 
    <StackPanel Orientation="Horizontal" 
       HorizontalAlignment="Right" 
       Grid.Row="2"> 
     <Button x:Name="buttonSnimiObjekat" 
       Content="Измени" /> 
     <Button x:Name="buttonOdustani" 
       Content="Откажи" /> 
    </StackPanel> 

</Grid> 

你的問題是不變的利潤率和大小。當您使用Expression Blend並且不會手動編寫XAML時會發生這種情況。

+0

我明白了你的觀點,但是這會在我的兩個按鈕和正下方的窗口邊緣之間創建空間嗎?我需要這個 – nscott23

+0

您只需通過Window控件的Width和Height屬性來控制窗口的大小。如果你有很大的自由空間 - 你應該縮小你的窗口。 –