Domanda

Sto pensando al modo migliore per gestire un "spazio di lavoro" nella mia applicazione, in cui l'utente potrebbe muovere le cose in questo spazio, e potrebbe pan per esempio.

Immaginiamo ho il mio interfaccia dell'applicazione, con alcuni pulsanti tutto intorno, una vista ad albero ecc e nel mezzo, una tela con alcuni widget l'utente può muoversi e lavorare, e avrebbe potuto pan questo spazio per muoversi in esso.

Per la padella, stavo pensando di gestire il MouseLeftButtonDown in questo spazio (che passare un valore booleano "UserMoving" per vero), e sulla MouseSpostato, da applicare sulla traduzione per lo spazio (dal delta tra i 2 eventi) , fino a quando rilevo un MouseLeftButtonUp, di sapere che si è fermato (UserMoving false). Il problema è che se l'utente "tasto sinistro del mouse su" non sullo spazio stesso (una tela), non saprò mai che ha rilasciato il mouse. Qual è il migliore per gestire il fatto che egli possa rilasciare la padella (o il drag & drop di un widget) ovunque nella domanda?

Do qualcuno ha già gestire una cosa del genere e mi può aiutare?

È stato utile?

Soluzione

Si dovrebbe chiamare il UIElement.CaptureMouse sulla tela di canapa a basso mouse. Ciò manterrà la tela che riceve gli eventi del mouse, anche se l'utente si muove al di fuori di essa la regione.

Al passaggio del mouse su, chiamata ReleaseMouseCapture .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top