我有一个ContextMenu绑定到ListView上,但是当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>
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();
}
}
提前致谢!