【发布时间】:2013-01-23 00:35:57
【问题描述】:
我有 MenuItem 列表并使用 ApplicationCommnds,如剪切、复制、粘贴。当 Command 被禁用时,我想做一些事情。但样式不起作用。ApplicationCommand 的默认行为是 ii 如果禁用,则自动设置前景灰色.但它不适用于我的情况。所以我明确地尝试设置它。
<TextBox x:Name="AssignmentTextBox" >
<TextBox.ContextMenu>
<ContextMenu Background="White">
<MenuItem Command="ApplicationCommands.Undo" Style="StaticResource _MenuItem}"/>
<Separator />
<MenuItem Command="ApplicationCommands.Cut" Style="{StaticResource _MenuItem}"/>
<MenuItem Command="ApplicationCommands.Copy" Style="{StaticResource _MenuItem}" />
<MenuItem Command="ApplicationCommands.Paste" Style="{StaticResource _MenuItem}"/>
<Separator />
<MenuItem Command="ApplicationCommands.SelectAll" Style="{StaticResource _MenuItem}"/>
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
【问题讨论】:
-
样式声明是什么样的?
-
样式_MenuItem 是在哪里定义的?在应用程序资源中?还是某处?
-
你想做什么“某事”? menutiem 或其他 item 的样式更改,代码触发器,什么样的?
-
实际上,如果当时没有选择任何文本复制,剪切命令应该被禁用。它被禁用,但看起来并没有被禁用。当我们将光标移动到它上面时,它没有被选中,但它的颜色保持不变。我希望它禁用时它的颜色应该不同。
标签: wpf wpf-controls command