2011-09-22 29 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>