gpt4 book ai didi

wpf - 动态隐藏菜单项

转载 作者:行者123 更新时间:2023-12-05 00:29:03 25 4
gpt4 key购买 nike

我有一个用 xaml 构建的菜单,MenuItem 的属性 ItemTemplate 设置为以下模板:

<HierarchicalDataTemplate x:Key="MenuItemTemplate" DataType="{x:Type mainMenu:MenuItem}" ItemsSource="{Binding ChildMenuItems}">
<MenuItem Command="{Binding Command}" CommandParameter="{Binding CommandParameter}" Header="{Binding Path=Header}" Visibility="{Binding Visible, Converter={converter:BooleanToVisibilityConverter}}" />
</HierarchicalDataTemplate>

当我将属性 Visible 的值更改为 false 以隐藏子菜单时,结果是这样的:

enter image description here

子菜单是隐藏的,但它们仍然需要一些空间。如何更改它以适应菜单中剩余的项目数量?

编辑:

这是转换器的代码:
public class BooleanToVisibilityConverter : MarkupExtension, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool) value ? Visibility.Visible : Visibility.Collapsed;
}
}

最佳答案

我怀疑你回来了 Visibility.Hidden从你的转换器。而是返回 Visibility.Collapsed .

来自 MSDN :

enter image description here

此外WPF提供BooleanToVisibilityConverter ,除非做一些额外的事情,否则您不需要重新定义它。您可以像这样在 App 资源部分下添加资源并使用:

<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>

关于wpf - 动态隐藏菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362729/

25 4 0