Was ist der beste Weg, um ein WPF-Fenster an der Mausposition (oben links von der Maus) anzuzeigen?

Ich habe festgestellt, dass dies TEILWEISE funktioniert, indem ich den Windows Forms-Mauszeiger erbte und die Höhe und Breite meines Fensters subtrahierte, um den linken und oberen Rand festzulegen (da die Größe meines Fensters feststeht):

MyWindowObjectThatInheritsWindow window = new MyWindowObjectThatInheritsWindow();
System.Windows.Point mouseLocation = GetMousePositionWindowsForms();
window.Left = mouseLocation.X - 300;
window.Top = mouseLocation.Y - 240;
window.Show();

Bearbeiten: Hier ist der Code zum Abrufen der Mausposition ...

public System.Windows.Point GetMousePositionWindowsForms()
{
    System.Drawing.Point point = System.Windows.Forms.Control.MousePosition;
    return new System.Windows.Point(point.X, point.Y);
}

Beachten Sie, dass dies funktioniert, indem Sie den unteren rechten Rand des Fensters links oben mit dem Mauszeiger berühren. Aber das funktioniert nicht für unterschiedliche Bildschirmauflösungen oder für mehrere Monitore mit unterschiedlicher Auflösung? Ich habe es noch nicht vollständig eingegrenzt, aber ich habe denselben Code gerade auf einem anderen PC ausprobiert, und es scheint, dass das Fenster nicht oben links vom Mauszeiger, sondern unten links davon und in ausreichender Entfernung erscheint es ist Vergangenheit...

Ich sollte wahrscheinlich hinzufügen, dass sich die Fenstergrößen nach Inhalt, Breite und Höhe richten, sodass ich die Eigenschaften ActualWidth und ActualHeight nicht einfach verwenden kann, da sie nicht verfügbar sind. Vielleicht liegt das Problem darin, die richtige Größe zu finden? Gibt es eine Möglichkeit, das zu tun? Ich weiß mit Sicherheit, dass die 300 und 240 für meinen Haupt-PC mit zwei Monitoren mit einer Auflösung von 1920 x 1080 korrekt sind, da ich die Breiten und Höhen aller Objekte in meinem Fenster berechnet habe, die ich explizit dimensioniert habe. Bearbeiten: Ich habe gerade versucht, die Höhe und Breite explizit auf 240/300 zu setzen, um sicherzustellen, dass die Größe des Fensters nicht mehr dem Inhalt entspricht, und ich habe immer noch dieses Problem, wenn ich die tatsächliche Höhe und Breite herausziehe!

Irgendwelche Ideen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage