gpt4 book ai didi

c# - StackPanel 的 MouseWheel EventToCommand

转载 作者:行者123 更新时间:2023-12-03 10:22:43 33 4
gpt4 key购买 nike

我有一个 StackPanel,里面有一个 Listview。
我希望能够在窗口内滚动,以更改 selectedItem。

澄清;
我想在滚动鼠标滚轮时更改我的 ViewModels SelectedItem。

我找不到通过 EventToCommand 将命令绑定(bind)到事件的方法

我以为它可以通过做

<StackPanel>
<i:EventTrigger EventName="MouseWheel">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding MouseScrollCommand}">
</cmd:EventToCommand >
</i:EventTrigger>
<ListView/>
</StackPanel>

但这给我一个错误,指出事件触发器只能分配给 UIElement。

然后我在 ListView 内部尝试了 - 这也没有用。

如何将事件(带参数)绑定(bind)到滚轮事件?

最佳答案

我想你快到了,但你需要将 EventTrigger 包装在 System.Windows.Interactivity Interaction 中。类(class):

<StackPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseWheel">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding MouseScrollCommand}">
</cmd:EventToCommand >
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView/>
</StackPanel>

您应该会发现这会引发事件,并调用您的命令。

Interaction 类处理关联对象上的事件,并通过 EventTriggers 传播它们。

关于c# - StackPanel 的 MouseWheel EventToCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31565843/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com