我想将DragCompleted事件绑定到ViewModel的一个命令。我尝试了以下使用混合,但它不工作:
<Slider x:Name="slider" HorizontalAlignment="Left" Margin="41,147,0,0" VerticalAlignment="Top" Width="412">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Thumb.DragCompleted">
<i:InvokeCommandAction Command="{Binding DragCompletedCommand}"></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</Slider>
但这不管用。当我使用事件到代码背后的正常绑定时,它可以工作:
<Slider x:Name="slider" Thumb.DragCompleted="slider_DragCompleted" HorizontalAlignment="Left" Margin="41,147,0,0" VerticalAlignment="Top" Width="412"></Slider>
我试着寻找,但奇怪的是找不到答案。
2条答案
按热度按时间zy1mlcev1#
你可以为它写一个附加的属性,它看起来像这样:
然后你的Slider-Definition看起来像这样:
extensions
是附加属性所在的命名空间。在ViewModel中,你有一个名为SlideCompletedCommand的
ICommand
-Property,它看起来像这样:siotufzp2#
我最终使用后面的代码来访问ViewModel。
在xaml中:
在代码隐藏中(考虑到视图的DataContext是ViewModel):
在ViewModel中:
希望这对你有帮助!