0
私はWPFでいくつかの図形を描画するためにキャンバスを使用しています。 XAMLコード: "ダウン"、 "移動"、 "アップ":それはwpfでキャンバスに10以上の子供を追加すると、ソフトウェアが遅くなります
<Canvas x:Name="canvas1"
Background="Transparent"
Margin="0,40,0,0"
MouseDown="canvas1_MouseDown"
MouseMove="canvas1_MouseMove"
MouseUp="canvas1_MouseUp"
KeyUp="canvas1_KeyUp" >
</Canvas>
私は3つのキャンバスのイベントがあります。私はそれらをシェイプを描き、それをキャンバスの子に追加するために使います。私は複数の子供を追加すると、それは遅くなります。私はスピードの問題をどのように処理するか異なるshapes.Kindlyが私を助けて追加するために使用
Rectangle rect;
public void canvas1_MouseDown(object sender, MouseButtonEventArgs e)
{
rect = new Rectangle
{
StrokeDashArray = { 2,2 },
StrokeThickness = 1
};
Canvas.SetTop(rect, startPoint.Y);
}
public void canvas1_MouseMove(object sender, MouseButtonEventArgs e)
{ if(boolVariable){ canvas1.Children.Add(rect);
boolVariable=false}
rect.Width = w;
rect.Height = h;
Canvas.SetLeft(rect, x);
Canvas.SetTop(rect, y);
}
public void canvas1_Mouseup(object sender, MouseButtonEventArgs e)
{
rect = null;
}
ザッツコード:
はここで子供を追加するためのいくつかのサンプルコードです。おかげさまで
私はすでにboolVariableを使ってその問題を制御しています。私はそれを書いている理由は、マウスの移動に子供を追加したい。他の提案。それは問題ではないからです。私の間違いは私がコードを書くのではないことですが、私の質問をどのように編集したのですか?私に別の解決策を教えてください –