1

これに似た質問をいくつか見ましたが、おそらくグリッドが に設定されているため、解決策がありませんStretch。これが私が達成しようとしている結果です。基本的に、私は 1 つのグリッドを持っており、X 軸の線を描きたいと思います (この質問の最後の図のように)。

マイ XAML

<Grid x:Name="MainGrid" HorizontalAlignment="Stretch" Background="#FF4A70F1">

私の分離コード

        Line XAxis = new Line();
        XAxis.Stroke = System.Windows.Media.Brushes.Black;
        XAxis.StrokeThickness = 1;

        XAxis.X1 = 0;
        XAxis.X2 = MainGrid.RenderSize.Width;
        XAxis.Y1 = MainGrid.RenderSize.Height / 2;
        XAxis.Y2 = MainGrid.RenderSize.Height / 2;

        MainGrid.Children.Add(XAxis);

私の問題

ウィンドウのサイズを変更/最大化しても、この行がウィンドウ全体に広がるようにしたいと思います。ただし、上記の X2、Y1、Y2 の計算は機能しません (すべて 0 と評価されるため、LINE は表示されませんActualSize) *RenderSize*。誰かがそれを修正する方法を指摘できますか? ありがとうございました 達成する

4

1 に答える 1

2

この XAML は、水平方向に伸びる垂直方向の中央線を作成します。

<Grid>
    <Line HorizontalAlignment="Left" VerticalAlignment="Center" Stroke="Black"
          X2="{Binding ActualWidth,
               RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Grid}}"/>
</Grid>
于 2013-05-25T12:51:29.627 に答える