Chcę wyświetlić przycisk tylko wtedy, gdy użytkownik umieści kursor myszy nad jego lokalizacją, gdy mysz opuści obszar, przycisk powinien powrócić do bycia ukrytym. Oto mój kod dla przycisków.Regulacja widoczności przycisku za pomocą myszy 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>
Sekcja resouces jest komentowana, ponieważ próbowałem i nie działała. Mój dziennik w przycisk ma następujące eventhandler załączony ..
LoginButton.MouseEnter += new MouseEventHandler(LoginButton_MouseEnter);
metoda, która obsługuje to jest ..
private void LoginButton_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Made in the login button listener for mouseOver");
LoginButton.Visibility = Visibility.Visible;
}
Kiedy uruchamiam moją aplikację, nic się nie dzieje, gdy kładę na lokalizację, w której powinien być przycisk. Jeśli jednak najpierw ustawię widoczność przycisku logowania na Widoczny, widzę przycisk, a kiedy go klikam, moja logiczna metoda logiczna dla zalogowania się przez użytkownika zostanie nadpisana i pojawia się komunikat z komunikatem metoda MouseEventListener dla "Wykonane w detektorze przycisku logowania dla mouseOver". Nie tylko to, ale otrzymuję dwa z tych komunikatów (gdy tylko kliknę "OK" po raz pierwszy, natychmiast wyskakuje ponownie) Nie jestem pewien, dlaczego to nie działa, ani dlaczego moja metoda zdarzenia kliknięcia jest ignorowana i TERAZ pojawia się metoda mouseEvent.
Wszelkie przemyślenia lub pomoc będą mile widziane, dziękuję!
zdarzenia nie ognia, gdy przycisk jest ukryty lub upadł. – 0x4f3759df
Nie należy używać wyskakujących okienek do diagnozowania przesunięć myszy. Otrzymujesz dwa pop-upy, ponieważ po kliknięciu myszką w oknie dialogowym, aby je zamknąć, nie jesteś już przytłoczony elementem, który go uruchomił! Kiedy okno dialogowe się zamknie, ponownie uruchomi kursor myszy nad zdarzeniem. –
@iterationx: Myślę, że to prawda, ale możesz * może * być w stanie go zastąpić, jeśli otrzymasz IsHitTestVisible. –