带网格的同心矩形

时间:2019-04-24 13:45:03

标签: wpf

我对WPF完全陌生,所以请保持柔和。 :)我有一个4x4的网格。在每个单元格中,我希望有同心的矩形框住单元格,然后在其中放置小部件。外部矩形将填充单元格。然后,内部矩形将位于外部矩形的边界之内,等等。我能够成功放置第一个矩形。但是,我在摆弄内部矩形时有些恶心。我的直言不讳,这应该可行。

我在画布中尝试过一个画布,更不用说各种排列和组合了。

        <Grid Grid.Row="0" Grid.Column="0" >
            <Canvas>
                <Rectangle Canvas.Left="0" Stroke="Gray" Canvas.Top="0" RadiusX="10" RadiusY="10" StrokeThickness="20" x:Name="r0c0"
                           Stretch="Fill" Width="{Binding ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}}" 
                           Height="{Binding ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}}"/>

                <Rectangle Canvas.Left="15" Stroke="Blue" Canvas.Top="15" RadiusX="5" RadiusY="5" StrokeThickness="10"
                           Stretch="Fill" Width="{Binding ActualWidth, ElementName=r0c0}" 
                           Height="{Binding ActualHeight, ElementName=r0c0}"/>
            </Canvas>
       </Grid>

1 个答案:

答案 0 :(得分:0)

弄清楚了。画布和矩形太夸张了。边界是要走的路。

<Grid Grid.Row="0" Grid.Column="1">
   <Border BorderThickness="20" BorderBrush="Gray" CornerRadius="10" 
      Margin="0,0,0,0"/>
   <Border BorderThickness="10" BorderBrush="Blue" CornerRadius="10" 
      Margin="15,15,15,15"/>
</Grid>
相关问题