我使用NotifyIcon来实现"最小化图标到托盘"我的WPF应用程序中的功能。最小化工作正常,但是如果我点击"打开",图标将重新出现在任务栏上,但应用程序不会重新出现。我将TopMost
属性设置为true
(我已尝试过以下两种解决方案),但仍然没有运气。桌面应用程序非常新,所以任何方向/理论都非常受欢迎。
代码背后
private void TrayIconShowWindow_Click(object sender, RoutedEventArgs e)
{
WindowState = System.Windows.WindowState.Normal;
Visibility = Visibility.Visible;
// Neither of these work
Application.Current.MainWindow.Topmost = true;
Topmost = true;
}
XAML
<taskbar:TaskbarIcon.ContextMenu>
<ContextMenu>
<MenuItem Header="Open Window" Click="TrayIconShowWindow_Click">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="Assets/OpenScreen.png"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="Exit" Click="TrayIconExitApp_Click">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="Assets/Close.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</taskbar:TaskbarIcon.ContextMenu>
答案 0 :(得分:1)
使用Window上的Activate方法
private void TrayIconShowWindow_Click(object sender, RoutedEventArgs e)
{
this.Activate();
}
答案 1 :(得分:0)
Application.Current.MainWindow.WindowState = WindowState.Maximized;