小编Rya*_*yan的帖子

使用MouseOver调整Button Visiblity

我只想在用户将鼠标放在其位置上时显示一个按钮,一旦鼠标离开该区域,按钮应该返回到隐藏状态.这是我的按钮代码.

<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方法.

任何想法或帮助将不胜感激,谢谢!

wpf visibility button

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

button ×1

visibility ×1

wpf ×1