禁用Windows Phone工具箱中的MenuItem
问题描述:
我想在contextMenu中禁用一些menuItem,但不是全部。禁用Windows Phone工具箱中的MenuItem
<tk:ContextMenuService.ContextMenu>
<tk:ContextMenu Name="optionMenu">
<tk:MenuItem Header="Move to Favorite" Name="moveToFav" Click="moveToFav_Click" />
<tk:MenuItem Header="Copy to Favorite" Name="copyToFav" Click="copyToFav_Click" />
<tk:MenuItem Header="Set as Folder Front" Name="setFront" Click="setFront_Click" />
<tk:MenuItem Header="Delete" Name="delete" Click="delete_Click" />
</tk:ContextMenu>
</tk:ContextMenuService.ContextMenu>
例如,我想禁用moveToFav,copyToFav菜单项,我尝试
moveToFav.isEnabled = false; copyToFav.isEnable = false;
但是因为编译器说moveToFav不会在当前的背景下存在它没有工作。
任何帮助?
答
很好,我决定做以下
<tk:ContextMenuService.ContextMenu>
<tk:ContextMenu x:Name="optionMenu" >
<tk:MenuItem Header="Move to Favorite" x:Name="moveToFav" Click="moveToFav_Click" Loaded="moveToFav_Loaded" />
<tk:MenuItem Header="Copy to Favorite" Name="copyToFav" Click="copyToFav_Click" Loaded="copyToFav_Loaded" />
<tk:MenuItem Header="Set as Folder Front" Name="setFront" Click="setFront_Click" Loaded="setFront_Loaded" />
<tk:MenuItem Header="Delete" Name="delete" Click="delete_Click" />
</tk:ContextMenu>
</tk:ContextMenuService.ContextMenu>
代码:
private void moveToFav_Loaded(object sender, RoutedEventArgs e)
{
if (condition)
(sender as MenuItem).IsEnabled = false;
}
private void copyToFav_Loaded(object sender, RoutedEventArgs e)
{
if (condition)
(sender as MenuItem).IsEnabled = false;
}
它并不完美,但它的作品
很好的例子,谢谢! – 2015-01-20 11:26:18