Desidero visualizzare un pulsante solo quando l'utente posiziona il mouse sopra la sua posizione, una volta che il mouse lascia l'area, il pulsante dovrebbe tornare ad essere nascosto. Ecco il mio codice per i pulsanti.Regolazione Visiblity pulsante con MouseOver
<StackPanel Name="ButtonOptions" Orientation="Horizontal" DockPanel.Dock="Bottom" Background="DarkBlue" Height="50" Width="auto">
<!--<StackPanel.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>-->
<Button Name="LoginButton" FontSize="12" Click="LoginButton_Click" Content="Log In" Width="100" Height="31" Margin="50,0,0,0"
FontFamily="Arial" Visibility="Visible" IsEnabled="True" MouseEnter="LoginButton_MouseEnter" />
<Button Name="OptionsButton" Content="Options" Width="100" Height="31" Margin="20,0,0,0" FontFamily="Arial"
FontSize="12" Click="OptionsButton_Click" Visibility="Hidden" IsEnabled="False"/>
</StackPanel>
La sezione risorse viene commentata perché l'ho provato e non funzionava. Il mio registro nel pulsante ha la seguente EventHandler allegata ..
LoginButton.MouseEnter += new MouseEventHandler(LoginButton_MouseEnter);
il metodo che gestisce questo è ..
private void LoginButton_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Made in the login button listener for mouseOver");
LoginButton.Visibility = Visibility.Visible;
}
Quando eseguo la mia applicazione, non succede nulla quando ho messo sopra il luogo in cui il il pulsante dovrebbe essere Tuttavia, se imposto inizialmente Visibilità del pulsante di accesso a Visible, posso visualizzare il pulsante e quando faccio clic su di esso, il metodo di accesso log in per l'accesso di un utente viene sovrascritto e viene richiesto con la finestra del messaggio in il metodo MouseEventListener per "Fatto nel listener del pulsante di accesso per mouseOver". Non solo, ma ricevo due di questi messaggi (non appena faccio clic su "Ok" la prima volta, viene immediatamente visualizzato di nuovo) Non sono sicuro del motivo per cui non funziona, né perché il metodo del mio evento click viene ignorato e ORA si verifica il metodo mouseEvent.
Qualsiasi pensiero o aiuto sarebbe apprezzato, grazie!
eventi non vengono attivati quando un pulsante è nascosto o compresso. – 0x4f3759df
Non utilizzare i popup per diagnosticare i mouse. Stai ottenendo due popup perché quando passi il mouse sopra la finestra di dialogo per chiuderla, non sei più collegato con il mouse all'elemento che l'ha attivato! Quando la finestra di dialogo si chiude, sparerà nuovamente il mouse sull'evento. –
@iterationx: Penso sia vero, ma tu * potresti * essere in grado di sovrascriverlo se ottieni IsHitTestVisible. –