控制窗口对系统任务栏图标的可见性

时间:2019-01-04 04:13:23

标签: c# wpf xaml

我正在构建WPF应用程序,其中有一个包含框架的主窗口 多页和系统任务栏图标。

问题在于系统任务栏图标和MainWindow XAML在同一类中,因此,当我启动应用程序时,我希望系统任务栏图标出现在主窗口中。目前我拥有的是:

systemTray = new SystemTray();
systemTray.Show();  

然后在系统托盘中

public SystemTray() {
    InitializeComponent();
}

我尝试在Hide();InitializeComponent();之前和之后使用systemTray.Show(),但无济于事。我了解systemTray.Show()是打开窗口的原因,但是它也运行XAML,从而打开系统任务栏图标。如下所示:

<tb:TaskbarIcon
    IconSource="/Icons/General.ico"
    ToolTipText="General"
    MenuActivation="LeftOrRightClick"> 
    <tb:TaskbarIcon.ContextMenu>
            <ContextMenu    
                Background="WhiteSmoke">
                <MenuItem Header="My Profile" 
                          x:Name="MyProfile" Click="Profile_Click"/>
            </ContextMenu>
    </tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>

因此,理想情况下,我希望显示系统托盘图标,并在初始化时隐藏窗口,然后单击My Profile时,该窗口将变为可见。

解决方案

我只需要在Visibility = Visbility.Hidden下添加InitializeComponent();

0 个答案:

没有答案