在 WPF 中,你可以使用 Command="{Binding WalterlvCommand}"
的方式来让 XAML 中的一个按钮或其他控件绑定一个命令。这样,按钮的可用性会自动根据 WalterlvCommand
当前 CanExecute
的状态来改变。这本是一个非常智能的特性,直到你可能发现你按钮的可用性状态不正确……
本文介绍默认情况下,WPF 在 UI 上的这些命令会在什么时机进行刷新;以及没有及时刷新时,可以如何强制让这些命令的可用性状态进行刷新。了解了这些,你可能能够解决你在 WPF 程序中命令绑定的一些坑。
This post is written in multiple languages. Please select yours:
- WPF 的命令的自动刷新时机——当你 CanExecute 会返回 true 但命令依旧不可用时可能是这些原因 - walterlv
- When WPF Commands update their CanExecute states? - walterlv
一个最简单的例子
<Button x:Name="TestCommand" Command="{Binding WalterlvCommand}" />
public class Walterlv
{
// 省略了此命令的初始化。
public WalterlvCommand WalterlvCommand {
get