Domanda

Sto cercando di creare uno stato del mouse hover, che cambia la sua opacità quando un mouse si trova sopra il pannello dello stack.

Ho creato lo Stato, e ha creato un evento mouse_enter per il pannello dello stack, e sul codice dietro file di cs, ho il seguente codice sull'evento Mouse_Enter.

MouseOver.Begin ();

Dove MouseOver è il nome del StoryBoard, ma quando il mio mouse passa sopra il pannello pila o anche fare clic sul pannello pila, non è successo niente, che cosa mi manca?

Grazie

visualizzarloKid

È stato utile?

Soluzione

ho capito io.

Con questo codice:

VisualStateManager.GoToState

Grazie a tutti.

Altri suggerimenti

Sei sicuro che l'evento viene generato (avete cablato l'evento correttamente)? Prova a controllare utilizzando una finestra di messaggio o qualcosa del genere. (System.Windows.MessageBox.Show())

Sei sicuro che lo storyboard funziona bene in altre situazioni (provato su caricamento della pagina o qualcosa del genere?)

Se entrambi questi lavori, si prega di spiegare come si è andato su come aggiungere il gestore di eventi.

Nella mia esperienza, collegare un evento Mouse_Enter al pannello non funziona perché il contenuto all'interno del pannello finisce per rubare l'evento. La mia solita soluzione è quella di istituire un obiettivo trasparente che copre l'area che voglio eventi del mouse per e mantenere tale elemento sulla parte superiore della struttura ad albero visuale. Così il XAML sembra qualcosa di simile:

<StackPanel x:Name="ContentPanel" SizeChanged="ContentPanelSizeChanged" >
    < /*Some content here */ >
</StackPanel>
<Canvas x:Name="HitTarget" Mouse_Enter="HitTargetMouseEnter" />

E poi il gestore ContentPanelSizeChanged imposta la dimensione del HitTarget Canvas di essere il reale (resa) dimensione del StackPanel. Stessa cosa funziona per gli eventi MouseButtonDown e vorrei presumere che funziona per gli eventi MouseWheel pure. Vorrei consigliamo di provare i suggerimenti di risoluzione dei problemi di Senthil, ma se non è possibile ottenere l'evento di sparare a tutti (che io pretendo è il problema), dare una prova.

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