2017-05-19 32 views
0

在下面的代碼中,使用Canvas圍繞網格限制網格大小。但是這種行爲不會發生在WPF中。如何在UWP中停止畫布影響網格大小

<Canvas Background="AliceBlue"> 
    <Grid BorderBrush="Green" BorderThickness="50" Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
     <Grid.Resources> 
      <Style TargetType="Button"> 
       <Setter Property="BorderBrush" Value="Yellow" /> 
       <Setter Property="BorderThickness" Value="5" /> 
       <Setter Property="HorizontalAlignment" Value="Stretch" /> 
       <Setter Property="VerticalAlignment" Value="Stretch" /> 
      </Style> 
     </Grid.Resources> 
     <!--<Button Content="Button" />--> 
    </Grid> 
</Canvas> 

enter image description here

+0

子元素在畫布不會填滿整個畫布。他們將採用默認的寬度和高度。 – AVK

+0

@AVKNaidu,萬一,你如何建議克服這個問題?換句話說,如何使網格填充整個Canvas空間 – usefulBee

+1

取決於,如果您有一個計劃,使用相對位置在畫布上堆疊項目,要填充它,您需要綁定網格的寬度和高度以畫布實際寬度和高度。如果這不是您想要的,請完全移除畫布。 – AVK

回答

1

由於@AVKNaidu建議,「爲了填補它,你需要綁定網格的寬度和高度,以帆布實際寬度和高度。」

工作守則

<Canvas Background="AliceBlue" x:Name="TheCanvas"> 
    <Grid BorderBrush="Green" BorderThickness="50" 
      Width="{Binding ActualWidth, ElementName=TheCanvas}" 
      Height="{Binding ActualHeight, ElementName=TheCanvas}"> 
     ........... 
    </Grid> 
</Canvas>