2011-09-22 33 views

回答

4

寬度和高度從哪裏來?一個圓圈的示例XAML是:

<Canvas Background="LightGray"> 
     <Ellipse 
      Canvas.Top="50" 
      Canvas.Left="50" 
      Fill="#FFFFFF00" 
      Height="75" 
      Width="75" 
      StrokeThickness="5" 
      Stroke="#FF0000FF"/> 
    </Canvas> 

圓只是一個橢圓,其中高度=寬度。

+0

橢圓放置在網格中。網格自動確定寬度和高度(列Widdth =「*」,行高=「*」) –

+0

我不認爲你可以在純XAML中做到這一點,因爲我不知道任何邏輯得到兩個數字的最小值,但我不是XAML專家。 – Paparazzi

7

您可以在純XAML中執行此操作,只需使用Binding值即可。您還必須確保所有內容都被命名爲

<Grid Name="grdMain"> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="75" Name="Col1" /> 
     <ColumnDefinition Width="100" Name="Col2" /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="75" Name="Row1" /> 
       <RowDefinition Height="100" Name="Row2" /> 
     </Grid.RowDefinitions> 

      <Ellipse Grid.Column="1" Grid.Row="1" 
       Canvas.Top="50" 
       Canvas.Left="50" 
       Fill="#FFFFFF00" 
       Height="{Binding RowDefinitions/ActualHeight, ElementName=Row1, Mode=OneWay}" 
       Width="{Binding ColumnDefinitions/ActualWidth, ElementName=Col1, Mode=OneWay}" 
       StrokeThickness="5" 
       Stroke="#FF0000FF"/> 
    </Grid>