我需要根据方法的返回来启用/禁用 WPF 按钮。
我有一个 HasPermission
方法,它告诉我用户是否可以单击该按钮。
我发现我可以使用 Command => CanExecute
来避免执行该操作。在这里看到:
How to enable/disable a button in WPF?
我的问题是,我有很多 Windows,我将在其中检查权限,这是最好的方法吗?我真的需要为我拥有的每个窗口编写 2
到 N
个命令吗?
有什么方法可以使其全局
吗?
例如,我可以创建通用命令(搜索/创建/...),然后仅获取调用它的窗口并将其传递给我的 HasPermission
方法吗?
最佳答案
您绝对可以创建一个包含静态命令的静态类,并从 XAML 中的任何位置引用这些命令。
事情是这样的:
public static class GlobalCommands
{
//ICommand can be DelegateCommand, RelayCommand... whatever floats your boat.
public static ICommand SearchCommand { get; set; }
//Implementation, and more static commands...
}
然后在某些 View 中:
<UserControl ...>
...
<Button Content="Search" Command="{x:Static infra:GlobalCommands.SearchCommand}" />
...
</UserControl>
当然,infra:
是映射到 GlobalCommands
命名空间的 xmlns 命名空间。
关于c# - 如何根据方法返回启用/禁用 WPF 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13221204/