C# 中的 TaskbarIcon wpf 错误

TaskbarIcon wpf error in C#

我正在用 TaskbarIcon 做一个 MenuItem,我需要一些项目启用和一些禁用。所以我这样做:

  <MenuItem Header="Open" Visibility="true"/>
                <MenuItem Header="Settings" Visibility="true"/>
                <MenuItem Header="Close" Visibility="true"/>

                <MenuItem Header="Desconnect" Visibility="false" />
                <MenuItem Header="Show status" Visibility="false" />
                <MenuItem Header="Show logs" Visibility="false" />
                <MenuItem Header="Show servers" Visibility="false" />
                <MenuItem Header="Settings" Visibility="false" />
                <MenuItem Header="Close" Visibility="false" />

但是我得到了一个错误的菜单,如下图:picture

我该如何解决这个问题?

谢谢!

可见性不是基于标志的依赖性属性。它包含三个可用的 (enum) 选择 VisibleCollapsedHidden。要解决您遇到的问题,您应该使用 Collapsed.

Hidden只是隐藏了标有这个属性的控件,但是它占用的大小仍然是presisted。这就是您遇到图中所示问题的原因。

Collapsed 你可以称之为完全删除项目你的视图,没有任何可见的痕迹。

有关详细信息,请参阅 here.