WPF NotifyIcon - 隐藏托盘弹出窗口

WPF NotifyIcon - Hide Tray Popup

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

我创建了一个托盘弹出窗口,如下所示:

    <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;

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

如有任何帮助,我们将不胜感激!

尝试使用 IsOpen 而不是 Visibility 属性。这很奇怪,但是 setter 实际上关闭了弹出窗口。

tbIcon.TrayPopup.IsOpen = false;

希望对您有所帮助。

尝试

tbIcon.TrayPopupResolved.IsOpen = false;