小编Geo*_* Hx的帖子

WPF - 当ListView为空时不显示上下文菜单

我有一个与ListView的ContextMenu绑定,但我不想成为ListView为空时显示的菜单.我尝试直接绑定到元素,尝试使用FindAncestor绑定,但这些都不起作用,当我在ListView中单击鼠标右键时总是显示菜单.什么是正确的绑定?

<Grid>
<ListView x:Name="loginListView" ItemsSource="{Binding Logins}">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="140" Header="Login" DisplayMemberBinding="{Binding Login}"/>
            <GridViewColumn Width="140" Header="Password" DisplayMemberBinding="{Binding Password}" />
        </GridView>
    </ListView.View>

    <ListView.ContextMenu>
        <ContextMenu>
            <MenuItem 
                Header="Delete login" 
                Visibility="{Binding ElementName=loginListView, Path=Items.Count, Converter={StaticResource VisibilityConverter}}"/>
        </ContextMenu>
    </ListView.ContextMenu>
</ListView>
Run Code Online (Sandbox Code Playgroud)

public class visibilityConverter: IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if ((int)value > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }                
} …
Run Code Online (Sandbox Code Playgroud)

wpf binding listview visibility contextmenu

4
推荐指数
1
解决办法
4472
查看次数

标签 统计

binding ×1

contextmenu ×1

listview ×1

visibility ×1

wpf ×1