如何双击NotifyIcon并打开Window

时间:2015-12-04 05:50:53

标签: c# wpf xaml notifyicon

我正在使用NotifyIcon的库。到目前为止,我已经设法使用下一个代码创建一个TaskBarIcon:

TaskbarIcon tb = (TaskbarIcon)FindResource("NotifyIcon");

在App.xaml文件中:

<Application.Resources>
    <tb:TaskbarIcon x:Key="NotifyIcon" IconSource="icoLogo.ico" ToolTipText="Test test">
        <tb:TaskbarIcon.TrayToolTip>
            <Border Background="White" BorderBrush="Orange" BorderThickness="2" CornerRadius="4" Opacity="0.8" Width="160" Height="40">
                <TextBlock Text="Test test" HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
        </tb:TaskbarIcon.TrayToolTip> 
    </tb:TaskbarIcon>
</Application.Resources>

在Closing窗口事件中,我设置下一个代码来隐藏窗口:

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        Utils.Utils.pointOfSale = this;
        Hide();
        e.Cancel = true;
    }

我保存实际窗口的实例,以便在双击任务栏图标时再次显示它,但是如何使用App.xaml执行此操作?

我尝试了上面教程链接中提到的方法,但它没有用。我创建了这个c#类:

class ShowWindowCommand : ICommand
{
    public void Execute(object parameter)
    {
        Utils.Utils.pointOfSale.Show();
    }

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public event EventHandler CanExecuteChanged;
}

但是当我尝试使用任务栏图标连接此命令时:

<local:ShowWindowCommand x:Key="WindowCommand" />

它给出了一个错误,即该命令不存在于命名空间中。所以我将这一行添加到App.xaml的标题

xmlns:local="clr-namespace:BundyPOS.Utils"

这是我的项目层次结构:

enter image description here

它不应该是任何问题,但由于某种原因,Visual Studio抱怨没有找到该类。

请注意,有关双击任务栏图标并使用NotifyIcon打开程序窗口的任何信息都会有所帮助。

0 个答案:

没有答案