通过使用其他窗口中的按钮停用窗口可见性来切换窗口可见性

时间:2016-01-08 14:50:41

标签: c# wpf xaml

切换窗口的可见性时遇到问题。原始项目使用动画,但在这里我简化了切换不透明度。

使用按钮显示窗口非常有效。通过停用它来隐藏窗户也很有效。

问题是当我尝试使用按钮隐藏窗口时。看起来它首先取消激活,更改状态,然后切换按钮恢复点击事件,看到该窗口被隐藏并再次显示。

这是我的.xaml.cs文件: MainWindow.xaml - 它只有Button挂钩到下面的事件:

public partial class MainWindow : Window
{
    private Window _window;

    public MainWindow()
    {
        InitializeComponent();
        _window = new HideWindow();
        _window.Opacity = 0.5;
        _window.Show();
    }

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        if (_window.Opacity == 1)
        {
            _window.Opacity = 0.5;
        }
        else
        {
            _window.Opacity = 1;
            _window.Activate();
        }
    }
}

HideWindow.xaml - 它是空的:

public partial class HideWindow: Window
{
    public HideWindow()
    {
        InitializeComponent();
    }

    protected override void OnDeactivated(EventArgs e)
    {
        Opacity = 0.5;
    }
}

如何使用按钮切换窗口可见性并同时停用窗口?提前谢谢!

0 个答案:

没有答案