我正在构建一个自定义的分割按钮,它由两个重叠的按钮和弹出窗口组成 - 就像这样(图像显示了一些通用的分割按钮):
SplitButton http://windowsclient.net/wf/blogs/jfoscoding/splitbutton.PNG
我的SplitButton打开弹出窗口,右侧带箭头,单击主按钮时执行SplitButton.Command。
在我的情况下,有时默认操作无法执行,在这种情况下,当单击一个主按钮时,我想打开弹出窗口。
我已经完成了,但问题是:
Button.Command="{TemplateBinding Command}"
(所以我可以<SplitButton Command="{Binding MyDefaultAction}">...
)我想继续使用相同的命令,但要覆盖按钮的行为,以便在Command.CanExecute()返回false时不会禁用它。我怎么能这样做?
谢谢!
答案 0 :(得分:0)
Command是一个依赖属性,我很确定它在可视树中由它下面的任何控件继承。因此,对于您不希望禁用的按钮,将command属性设置为其他命令或将其设置为null也可以正常工作。
可替换地,
创建自己的依赖属性...就像这个