-2

我想执行这样的删除命令:

ApplicationCommands.Delete.Execute(Keyboard.FocusedElement, Keyboard.FocusedElement);

但:

ApplicationCommands.Delete.CanExecute(Keyboard.FocusedElement, Keyboard.FocusedElement)

是假的,所以它不会被执行。

我怎样才能将其更改为真实?

4

1 回答 1

1

我相信您需要设置CommandBindings 来指定调用 Execute 和 CanExecute 函数时会发生什么。

这是一个例子:

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Window.CommandBindings>
        <CommandBinding Command="ApplicationCommands.Delete"
                        Executed="DeleteCommandHandler"
                        CanExecute="DeleteCanExecuteHandler" />
    </Window.CommandBindings>
    <StackPanel Name="MainStackPanel">
        <Button Command="ApplicationCommands.Delete" 
                Content="Delete File" />
    </StackPanel>
</Window>

该示例来自CommandBinding文档(稍作修改)。

于 2013-01-15T19:27:59.630 回答