WPF NotifyIcon - 隐藏托盘弹出窗口

时间:2015-02-24 01:06:13

标签: c# wpf notifyicon

我目前正在使用(真棒)第三方WPF NotifyIcon

我创建了一个像这样的Tray Popup:

    <tb:TaskbarIcon Name="tbIcon" IconSource="/Images/Icon.ico" PopupActivation="LeftOrRightClick" TrayMouseDoubleClick="tbIcon_TrayMouseDoubleClick">
        <tb:TaskbarIcon.TrayPopup>
            <Border Background="White" BorderBrush="Gray" BorderThickness="1" CornerRadius="3" Width="auto" Height="auto">
                    <DockPanel VerticalAlignment="Top" HorizontalAlignment="Right">
                        <Button DockPanel.Dock="Left" Name="btnSetupTray" Content="Setup" Margin="5" Width="70" Click="btnSetupTray_Click"></Button>
                        <Button DockPanel.Dock="Left" Name="btnExitTray" Content="Exit" Margin="5" Width="50" Click="btnExit_Click"></Button>
                    </DockPanel>
            </Border>
        </tb:TaskbarIcon.TrayPopup>
    </tb:TaskbarIcon>

我想知道如何以编程方式隐藏托盘弹出窗口。

我已尝试设置托盘弹出窗口可见性:

 tbIcon.TrayPopup.Visibility = Visibility.Collapsed;

实际上并没有从弹出窗口中获取焦点,这意味着我必须双击另一个窗口才能执行操作(如按钮)。这也意味着我必须在从弹出窗口中提取焦点后将可见性设置为Visible

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

f(n)

答案 1 :(得分:0)

尝试使用IsOpen代替Visibility属性。这很奇怪,但是有一个实际关闭弹出窗口的setter。

tbIcon.TrayPopup.IsOpen = false;

希望它有所帮助。