<Grid HorizontalAlignment="Left">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*"></ColumnDefinition>
            <ColumnDefinition Width="5*"></ColumnDefinition>
            <ColumnDefinition Width="2*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Canvas x:Name="gaugeCanvas"  Margin="20,20,0,0" MouseDown="Canvas_MouseDown"   Grid.Column="1">
        <Path StrokeThickness="5" Width="300" Height="150" StrokeStartLineCap="Round">
            <Path.Data>
                <PathGeometry Figures="M 0,100 A 100,100 0 0 1 29.28932,29.28932"/>
            </Path.Data>
            <Path.Stroke>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                    <LinearGradientBrush.GradientStops>
                        <GradientStop Offset="0" Color="Green"/>
                        <GradientStop Offset="1.0" Color="Yellow"/>
                    </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
            </Path.Stroke>
        </Path>
        <Path Stroke="LightGreen" StrokeThickness="5" Width="300" Height="130" StrokeStartLineCap="Round">
            <Path.Data>
                <PathGeometry Figures="M 0,100 A 100,100 0 0 1 29.28932,29.28932"/>
            </Path.Data>
        </Path>
        <Path Stroke="Yellow" StrokeThickness="5" Width="300" Height="130">
            <Path.Data>
                <PathGeometry Figures="M 29.28932,29.28932 A 100,100 0 0 1 170.71068,29.28932" />
            </Path.Data>
        </Path>
            <Path Stroke="Red" StrokeThickness="5" Width="300" Height="280" StrokeEndLineCap="Round">
                <Path.Data>
                    <PathGeometry Figures="M 170.71068,29.28932 A 100,100 0 0 1 200,100" />
                </Path.Data>
            </Path>
            <Path x:Name="indicatorPin" Fill="Orange">
            <Path.Data>
                <PathGeometry>
                    <PathGeometry.Figures>
                        <PathFigure StartPoint="100,95" IsClosed="True">
                            <PathFigure.Segments>
                                <LineSegment Point="10,100"/>
                                <LineSegment Point="100,105"/>
                            </PathFigure.Segments>
                        </PathFigure>
                    </PathGeometry.Figures>
                </PathGeometry>
            </Path.Data>
        </Path>
        <TextBlock x:Name="currentValueTxtBlock"  Foreground="White" FontSize="15" Canvas.Left="80" Canvas.Top="60" >速度</TextBlock>
    </Canvas>
    </Grid>


上面代码是一个userControl 但是不会自适应位置父控件的大小, 还有就是我想做成三个仪表盘 一起并列的效果 ,为什么放在grid中不会自适应?