1

私は何日もの間、うまくいけば非常に単純なことを理解しようとしていますが、私はそれを理解していません. 私が欲しいのはウィンドウです。2 つの異なるコンテナーにボタンと Polygon があるとしましょう。

ウィンドウのサイズを変更するとき、ボタンのサイズと相対的な位置を維持し(たとえば、他のコンテナに覆われることなく左上隅に)、変更せずにポリゴンのサイズを変更します(幅/高さの比率を維持しないでください)。そのストロークの太さ。

コード ビハインドから Polygon を完全に作成できることは非常に重要です。xaml で定義してもまったく役に立ちません

4

2 に答える 2

0

WPF にはアンカーがありません。多くのレイアウト コントロールがあり、それぞれコントロールの位置を設定する方法が異なります。

たとえば、グリッドに配置されたコントロールは、余白とそのサイズを使用して配置されます。Canvas のコントロールは、Canvas.TopCanvas.LeftCanvas.RightおよびCanvas.Bottomを使用して配置します。コントロールStackPanelsはマージンを使用して分離します。

WPF のレイアウトに関する次の記事を参照して、必要なものを入手することをお勧めします。

http://www.codeproject.com/KB/WPF/WPFLayoutQS.aspx

http://www.c-sharpcorner.com/UploadFile/dpatra/105202009083754AM/1.aspx

お役に立てれば!

于 2013-04-24T18:46:44.230 に答える
0

コンテナーの幅と高さを倍率として使用する、スケーリングされたPathGeometryを使用して Path を作成できます。したがって、どちらの方向にも 0 から 1 の範囲の論理座標でジオメトリを完全に指定できます。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Button HorizontalAlignment="Left" Margin="5" Content="Button"/>
    <Canvas x:Name="polylineCanvas" Grid.Row="1">
        <Path Stroke="Blue" StrokeThickness="3">
            <Path.Data>
                <PathGeometry x:Name="polyline">
                    <PathGeometry.Transform>
                        <ScaleTransform
                            ScaleX="{Binding ActualWidth, ElementName=polylineCanvas}"
                            ScaleY="{Binding ActualHeight, ElementName=polylineCanvas}"/>
                    </PathGeometry.Transform>
                </PathGeometry>
            </Path.Data>
        </Path>
    </Canvas>
</Grid>

以下に示すように、コードでジオメトリを指定できます。

var points = new Point[]
{
    new Point(0.1, 0.1),
    new Point(0.9, 0.1),
    new Point(0.9, 0.9),
    new Point(0.1, 0.9)
};

var figure = new PathFigure
{
    StartPoint = points[0],
    IsClosed = true
};

var segment = new PolyLineSegment(points.Skip(1), true);
figure.Segments.Add(segment);
polyline.Figures.Add(figure);

PathGeometry の代わりにStreamGeometryを使用することもできます。

于 2013-04-24T19:50:54.957 に答える