ウィンドウのレンダリングに問題があります。これらのプロパティのすべてまたはサブセットを設定し、ウィンドウを一度だけ再描画/レンダリングできる方法があるかどうか疑問に思っていました。
私の問題は、2 つのウィンドウをレンダリングし、それらを「接続」して、同時に移動およびサイズ変更することです。これは、1 つのウィンドウのサイズを変更/移動するときに、最大で 2 つしか必要としないはずのレンダリング呼び出しを 4 回行うことになることを意味します。
例として、「Move_Click」メソッドがウィンドウのボタンにアタッチされています。クリックすると、「OnRender」が 2 回呼び出されます。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
protected override void OnRender(DrawingContext drawingContext)
{
Console.Error.WriteLine("On rendering...");
base.OnRender(drawingContext);
}
private void Move_Click(object sender, RoutedEventArgs e)
{
this.Left--;
this.Top--;
this.Width--;
this.Height--;
}
}