在一个正方形中心圆

时间:2013-12-23 17:30:09

标签: wpf xaml

假设我有以下控件(我想放入数据模板中):

<Rectangle Width="20" Height="20" Stroke="Black"/>
<Ellipse Width="15" Height="15" Stroke="Red" StrokeThickness="4"/>

我希望圆圈正好位于正方形的中间。

似乎很简单,但我不知道该怎么做。我尝试的所有东西都偏离了一边或另一边。

更新

这是我最近的尝试不起作用:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="3"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="2"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="3"/>
    </Grid.RowDefinitions>
    <Rectangle Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="3" Width="20" Height="20" Stroke="Black"/>
    <Ellipse Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="15" Height="15"  Stroke="Red" StrokeThickness="3"/>
</Grid>

这是我能得到的最接近的。

1 个答案:

答案 0 :(得分:4)

如果你有一个偶数长度和一个奇数长度的形状,它们永远不会完美对齐。就像一个2单元线和一个3单元线,它们总是稍微偏离:

---
--

那么我可以建议让它们都是偶数长度,还是两者都是奇数?

<Grid>
    <Rectangle Width="20" Height="20" Stroke="Black"/>
    <Ellipse Width="16" Height="16" Stroke="Red" StrokeThickness="4"/>
</Grid>