我有一个按钮条usercontrol,我想在我的大多数表单上都有。WPF - CanExecute dosn't在从UserControl提升命令时触发
我已经添加的命令如下...
public ICommand Create
{
get
{
return buttonCreate.Command;
}
set
{
buttonCreate.Command = value;
}
}
我已经设置这些为依赖属性,所以我可以绑定到他们...
public static readonly DependencyProperty CreateCommandProperty =
DependencyProperty.Register(
"Create",
typeof(ICommand),
typeof(StandardButtonStrip),
new PropertyMetadata((ICommand)null));
我再结合我的用户的命令
<commoncontrols:StandardButtonStrip HorizontalAlignment="Stretch" Create="{Binding CreateCommand}" />
我设置命令如下...
_viewModel.CreateCommand = new DelegateCommand<object>(OnCreateCommand, CanCreate);
但尽管事实上,我总是在我的CanCreate方法上返回true,但该按钮被禁用......如果我在返回时放置一个断点,它永远不会触发!
public bool CanCreate(object parm)
{
return true;
}
我试过这个看看它是否会刷新绑定,但没有快乐!
_viewModel.CreateCommand.RaiseCanExecuteChanged();
我认为这个问题是下到用户的控制,以及如何我传递的命令,作为一个财产,但不知道...
谁能帮助?
干杯,
安迪
谢谢,这工作的一种享受! – 2009-07-16 11:36:19