2015-02-24 10 views
1

Я в настоящее время с помощью (удивительный) третья сторона WPF NotifyIconWPF NotifyIcon - Hide Tray Popup

Я создал 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 после того, как фокус был удален от всплывающего окна.

Любая помощь была бы принята с благодарностью!

ответ

0

Попробуйте использовать IsOpen вместо Visibility Недвижимость. Это странно, но есть сеттер, который фактически закрывает всплывающее окно.

tbIcon.TrayPopup.IsOpen = false; 

Надеюсь, что это поможет.