【发布时间】:2014-06-12 06:48:56
【问题描述】:
我有一个网格和一个上下文菜单。现在我有另一个切换按钮,它将执行一些其他活动。
现在我想要这两种行为
- 选中切换按钮后,如果用户按下右键,上下文菜单不应该出现,而是
- 当切换按钮未被选中而不是用户执行右键单击时,上下文菜单应出现在屏幕上。
我已经编写了 booltoVisibility 转换器,它工作正常。
<ContextMenu Visibility="{Binding RunViewModel.PlayModel.Active,Mode=OneWay, Converter={StaticResource ResourceKey=BoolToVisibilityConverter}}">
public class BoolToVisibilityConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Visibility visibility = Visibility.Collapsed;
if (value!=null)
{
visibility = (bool)value ? Visibility.Collapsed : Visibility.Visible;
}
return visibility;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
RunViewModel.PlayModel.Active 与切换按钮的 IsChecked 绑定。
现在的问题是, 当按钮被选中并且我右键单击时它工作正常但是当取消选中切换按钮时它又回到了屏幕中,我已经进行了绑定 oneWay 仍然存在问题。
谁能帮帮我..!!
【问题讨论】:
-
我写了 booltoVisibility 转换器...为什么?内置
BooleanToVisibilityConverterclass有什么问题?
标签: wpf data-binding wpf-controls contextmenu