c# - 是否可以创建始终设置为 true 的不可见 xaml 命令?
问题描述
我正在使用一个窗口,我想创建一个不可见的命令(或虚拟的,我不确定它是如何调用的)并且始终检查自身(在运行时始终为真)。这样我就可以用 C# 编写一个可以用计时器控制的脚本代码。
到目前为止,我只在 xaml 中找到用于正常事件的常用命令,例如:
<KeyBinding Modifiers="Control" Key="N" Command="{Binding NewCommandFile}" />
.
甚至有可能实现吗?
谢谢
解决方案
不确定这是否是您所要求的,但您可以创建自定义命令。例如,运行任意委托的命令:
public class DelegateCommand : ICommand
{
private readonly Action execute;
public DelegateCommand(Action execute) => this.execute = execute;
public bool CanExecute(object parameter) => true;
public void Execute(object parameter) => execute();
public event EventHandler CanExecuteChanged { add{} remove{}}
}
在文件后面的代码中,您将编写
public ICommand MyCommand{ get; }
public MyViewModel(){
MyCommand = new DelegateCommand(MyMethod);
}
public void MyMethod(){
// Do whatever
}
并绑定
<KeyBinding Modifiers="Control" Key="N" Command="{Binding MyCommand}" />.
推荐阅读
- python - 有没有办法在一个查询中查找和删除多个 MongoDB 文档?
- react-native - 无法在本机反应中将数据插入 SQLite 数据库
- python - 如何在 tkinter 中可视化数据透视表(文本未对齐)?
- android - 意图过滤器的 pathPattern 未按预期工作
- c - 父母和孩子的closesocket?
- android - 使用谷歌密钥签名的 Android 反向 apk
- android - 如何在内部存储android java中下载和保存媒体文件
- javascript - 我如何去特定用户的电子邮件收件箱或谷歌日历和所有其他谷歌应用程序
- gulp - Tailwind 和 Gulp - 连接样式表
- optimization - 二进制变量线性化中的单向条件语句