我为我的一个按钮实现了一个自定义IComand类。该按钮放置在页面'MyPage.xaml'中,但它的自定义ICommand类放置在另一个类中,而不是放在后面的MyPage代码中。然后从XAML我想按钮与它的自定义命令类绑定,然后我做的:WPF ICommand一个按钮
MyPage.xaml:
<Page ...>
<Page.CommandBindings>
<CommandBinding Command="RemoveAllCommand"
CanExecute="CanExecute"
Executed="Execute" />
</Page.CommandBindings>
<Page.InputBindings>
<MouseBinding Command="RemoveAllCommand" MouseAction="LeftClick" />
</Page.InputBindings>
<...>
<Button x:Name="MyButton" Command="RemoveAllCommand" .../>
<...>
</Page>
和自定义命令按钮类:
// Here I derive from MyPage class because I want to access some objects from
// Execute method
public class RemoveAllCommand : MyPage, ICommand
{
public void Execute(Object parameter)
{
<...>
}
public bool CanExecute(Object parameter)
{
<...>
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
}
我的问题是如何说MyPage.xaml该按钮的Execute和CanExecute方法是在另一个类中,而不是放在按钮后面的代码。如何说这些方法在XAML页面的RemoveAllCommand类中。
而且我希望当按钮,所以我输入结合产生点击鼠标触发事件,该命令是正确的吗?
感谢
嘿,我已经做到了,但没有成功,我在构建项目时收到错误:无法创建类型为RemoveAllCommand的实例。 我在发布的答案中解释它。 – toni 2010-03-29 11:43:13