【发布时间】:2011-03-23 07:08:01
【问题描述】:
我有一个 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();
}
}
提前致谢!
【问题讨论】:
标签: wpf listview binding contextmenu visibility