我想在contextMenu中禁用一些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 MenuItem,我试着
moveToFav.isEnabled = false; copyToFav.isEnable = false;
但它没有用,因为编译器说当前上下文中不存在moveToFav。
任何帮助?
答案 0 :(得分:2)
好吧,我决定做以下
<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;
}
它并不完美,但它有效