【发布时间】:2020-11-19 00:14:11
【问题描述】:
我想使用一个委托命令和一个水平切换开关,当切换开关时触发。我使用带有按钮和文本框的委托命令(按下回车键时触发事件),但我找不到如何使用切换开关解决这个问题?我试过这个: 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);
...
但我真的不知道如何处理该事件。 感谢您的任何想法!
【问题讨论】:
-
您的 ,UpdateSourceTrigger=PropertyChanged 毫无意义。选中的切换按钮或复选框将在您单击后立即转移到视图模型。 Textbox.text 通常是您唯一需要的时间。
标签: wpf command prism toggleswitch