Supponiamo che volevo fare questo, così posso trovare la posizione corrente del mouse rispetto ad una Visual
, senza bisogno di accedere a uno specifico evento del mouse:In WPF, in quali circostanze Visual.PointFromScreen genera InvalidOperationException?
public static Point GetMousePosition(this Visual relativeTo)
{
return relativeTo.PointFromScreen(GetMousePositionOnScreen());
}
volte (di solito quando ho appena passato tra due controlli struttura a schede) PointFromScreen
genera InvalidOperationException
con il messaggio Questo visivo non è collegato ad un PresentationSource.
Osservando le proprietà disponibili su Visual
non riesco a visualizzare nessuna informazione relativa a PresentationSource
.
Dato un Visual
, come posso sapere se sta generando quell'eccezione quando chiamo PointFromScreen
su di esso?
Vero - Sto utilizzando un timer. Occasionalmente il timer scatta quando il Visual non è in buono stato. Posso tranquillamente ignorare il timer se ciò si verifica. Ci proveremo. –