我只想在用户将鼠标放在其位置上时显示一个按钮,一旦鼠标离开该区域,按钮应该返回到隐藏状态.这是我的按钮代码.
<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>
Run Code Online (Sandbox Code Playgroud)
资源部分已被注释掉,因为我尝试了它并且它无法正常工作.我的登录按钮附有以下事件处理程序..
LoginButton.MouseEnter += new MouseEventHandler(LoginButton_MouseEnter);
Run Code Online (Sandbox Code Playgroud)
处理这个的方法是..
private void LoginButton_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Made in the login button listener for mouseOver");
LoginButton.Visibility = Visibility.Visible;
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,当我放置按钮所在的位置时没有任何反应.但是,如果我最初将登录按钮的可见性设置为Visible,我可以看到该按钮,当我单击它时,我的登录逻辑方法会覆盖用户登录,并且系统会提示我输入消息框用于"在mouseOver的登录按钮侦听器中制作"的MouseEventListener方法.不仅如此,我收到了其中两条消息(第一次单击"确定"时,它会立即再次弹出)我不知道为什么它不起作用,也不知道为什么我的click事件方法被忽略了现在发生了mouseEvent方法.
任何想法或帮助将不胜感激,谢谢!