我是WPF的新手并且尽力遵循MVVM按钮我正在努力应对当前的问题 我有一个视图模型类
library(dplyr)
data %>%
group_by(Compound) %>%
summarize_each(funs(mean), -ExpNum)
现在我想绑定一个按钮,这样如果我按下它_Reset是真的,当我释放它_Reset是假的 我觉得命令模式对于一个简单的开/关
有很多工作要做有没有办法将按钮的IsPressed绑定到我的数据上下文中的属性
我想尽可能简单地做到这一点,因为我有十几个按钮都在做其他属性的事情
答案 0 :(得分:5)
因此,您需要做的是导入System.Windows.Interactivity
。转到参考,添加参考,装配,扩展。你会在那里找到它。接下来将其添加到您的项目
xmlns:inter="http://schemas.microsoft.com/expression/2010/interactivity"
您现在可以使用PreviewMouseLeftButtonDown
和PreviewMouseLeftButtonUp
事件。
<Button Content="Some Button">
<inter:Interaction.Triggers>
<inter:EventTrigger EventName="PreviewMouseLeftButtonDown">
<inter:InvokeCommandAction Command="{Binding ButtonDown}"/>
</inter:EventTrigger>
<inter:EventTrigger EventName="PreviewMouseLeftButtonUp">
<inter:InvokeCommandAction Command="{Binding ButtonUp}"/>
</inter:EventTrigger>
</inter:Interaction.Triggers>
</Button>
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
ButtonDown = new RelayCommand(OnButtonDown);
ButtonUp = new RelayCommand(OnButtonUp);
}
public RelayCommand ButtonDown { get; set; }
public RelayCommand ButtonUp { get; set; }
private void OnButtonUp()
{
Debug.WriteLine("Button Released");
}
private void OnButtonDown()
{
Debug.WriteLine("Button Pressed");
}
}