功能区应用程序菜单项未正确折叠

时间:2015-01-19 04:32:01

标签: c# .net wpf ribboncontrolslibrary

我正在尝试在.NET 4.0项目中使用RibbonControlLibrary。我有一个带有菜单项的应用程序菜单,如果不满足某些条件,则需要将其删除。我尝试使用BooleanToVisibilityConverter,它可以很好地删除菜单项,但菜单本身并没有改变大小,所以在仍然可见的项目下有一个奇怪的空白。

这是使用绑定将菜单项设置为折叠时的样子: ribbon-wrong

这应该是这样的: ribbon-correct

如果我将菜单项硬编码为折叠,它看起来很好,但是当我使用绑定或触发器来更改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,但效果是一样的。是否有我遗失的东西或者这是色带库中的错误?

0 个答案:

没有答案