我正在尝试在 .NET 4.0 项目中使用 RibbonControlLibrary。如果不满足某些条件,我有一个包含需要删除的菜单项的应用程序菜单。我尝试使用BooleanToVisibilityConverter
,它可以很好地删除菜单项,但菜单本身不会改变大小,所以在仍然可见的项目下有一个奇怪的间隙。
这是使用绑定将菜单项设置为折叠时的样子:
这是它应该看起来的样子:
如果我将菜单项硬编码为折叠,它看起来很好,但是当我使用绑定或触发器来更改Visibility
值时它是错误的。这让我认为有一个错误导致菜单在项目更改时不会重新计算大小。
这是功能区的 XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary">
<Window.Resources>
<BooleanToVisibilityConverter x:Key="converter" />
</Window.Resources>
...
<ribbon:Ribbon>
<ribbon:Ribbon.ApplicationMenu>
<ribbon:RibbonApplicationMenu>
<ribbon:RibbonApplicationMenuItem Header="Item 1"
Visibility="{Binding TestProperty, Converter={StaticResource converter}}" />
<ribbon:RibbonApplicationMenuItem Header="Item 2" />
</ribbon:RibbonApplicationMenu>
</ribbon:Ribbon.ApplicationMenu>
</ribbon:Ribbon>
我也尝试Height
使用触发器设置为 0,但效果是一样的。是我遗漏了什么还是功能区库中的错误?