Видимость окна управления отдельно для иконки в системном трее - PullRequest
0 голосов
/ 04 января 2019

Я создаю приложение 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();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...