-2

MouseMove イベントが発生するたびに、マウスに続く 2 つの行を作成しようとしています。イベント用に 2 行を作成できますが、問題は、MouseMove ごとに 2 行を作成することです。これが私のコードです。私はWPFとC#を使用しています。

    private void CanvasMouseMove(object sender, MouseEventArgs e)
    {
        double xPos = e.GetPosition(m_Grid).X;
        double yPos = e.GetPosition(m_Grid).Y;

        Line vertLine = new Line();
        Line horzLine = new Line();

        vertLine.X1 = xPos;
        vertLine.Y1 = 0;
        vertLine.X2 = xPos;
        vertLine.Y2 = m_Grid.Height;

        horzLine.X1 = 0;
        horzLine.Y1 = yPos;
        horzLine.X2 = m_Grid.Width;
        horzLine.Y2 = yPos;

        vertLine.StrokeThickness = 1;
        horzLine.StrokeThickness = 1;

        vertLine.Stroke = Brushes.Black;
        horzLine.Stroke = Brushes.Black;

        m_Grid.Children.Add(vertLine); //m_Grid is my Canvas
        m_Grid.Children.Add(horzLine);

        m_Grid.UpdateLayout();
    }
4

2 に答える 2

2

毎回だけです(また、電話しないClearでください。それはあなたの仕事ではありません)。Grid.ChildrenUpdateLayout

于 2012-07-11T20:35:16.753 に答える