wpf - WPF prism:在切换开关上使用命令
问题描述
我想将委托命令与切换开关时触发的 Horizontaltoggleswitch 一起使用。我使用带有按钮和文本框的委托命令(按下回车键时触发事件),但我找不到如何使用切换开关解决这个问题?我试过这个:XAML:
<toggleSwitch:HorizontalToggleSwitch CheckedContent="Open" UncheckedContent="Closed" IsChecked="{Binding SubstrateValveOpen,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<toggleSwitch:HorizontalToggleSwitch.InputBindings>
<KeyBinding Command="{Binding SubstrateCommand}" Key="??"/>
</toggleSwitch:HorizontalToggleSwitch.InputBindings>
</toggleSwitch:HorizontalToggleSwitch>
视图模型:
private bool _substrateValveOpen;
public bool SubstrateValveOpen
{
get => _substrateValveOpen;
set => SetProperty(ref _substrateValveOpen, value);
}
public DelegateCommand SubstrateCommand => new DelegateCommand(Substrate, CanSubstrate);
...
但我真的不知道如何处理事件。谢谢你的任何想法!
解决方案
该命令在这里完全是多余的。该物业应该在这里做所有事情。
提醒:属性不仅仅是一个具有PropertyChanged
...的字段
private bool _substrateValveOpen;
public bool SubstrateValveOpen
{
get => _substrateValveOpen;
set
{
if (value && !_substrateValveOpen && !CanSubstrate())
return;
if (SetProperty(ref _substrateValveOpen, value) && value)
Substrate();
}
}
推荐阅读
- python - 在 tkinter 中显示列表框中的选择
- php - 我们如何使用简码显示编辑帐户表单?
- python - 为什么我的井字游戏中的列表值会多次添加到列表中,我该如何解决?
- r - 使用 rms 包预测 r 中的生存概率时出错
- css - Bootstrap4如何在导航栏文本上方添加iamge?
- python - 如何删除/隐藏无头 Chrome 打印输出 Selenium (Python)
- android - 仅在使用分页库单击按钮后才在 recyclerview 中加载项目
- tensorflow - 为什么微调 albert 模型时 train loss 保持稳定而 eval loss 减少?
- node.js - 关联 HasMany 有效,但 HasOne 无效
- c# - 在 C# 中没有 volatile 的情况下,双重检查锁定会失败吗?