gpt4 book ai didi

wpf - 使用 MVVM 模式处理控件上的鼠标事件 - 最佳实践 -

转载 作者:行者123 更新时间:2023-12-04 16:49:43 25 4
gpt4 key购买 nike

我发现实际上有 2 种方法可以使用 mvvm 模式处理控件上的鼠标事件。

两种方式实际上都是一种方式:

MVVM Light Toolkit by http://mvvmlight.codeplex.com/

<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand
Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems,
ElementName=MyDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>

和 Blend interactivity.dll with Behaviors
<i:Interaction.Triggers>
<i:EventTrigger EventName=”MouseLeftButtonDown”>
<Behaviours:ExecuteCommandAction Command=”{Binding MyCommand}” CommandParameter=”{Binding MyCommandParameter}”/>
</i:EventTrigger>
</i:Interaction.Triggers>

你知道有什么更好的方法吗?

Moderator: Why the heck are my last 6 xaml lines of code not visible at all? They are swallowed by IE and Iron browser. Would you please report the admin to fix that code script? its not working at all very often. prove: http://img251.imageshack.us/img251/5236/errorxt.png

最佳答案

如果您需要在任意位置处理 MouseDown,这些都是很好的方法。

然而,这些情况通常很少见。通常有一个更简单的方法:

  • 你确定你的对象不是真的按钮,只是看起来不像按钮?如果是这样,请将它们制作为真正的 Button 对象并将它们模板化为您想要的样子。
  • 您确定您的对象只是列表中对象的选择区域吗?如果是这样,请将容器从 ItemsControl 更改为 ListBox 并重新设置 ListBoxItem 的样式以使用选择区域。
  • 您的对象图形路径是否被选中?使用内容为路径本身的 ToggleButton。

  • 这方面还有很多其他的例子。事实上,MouseDown 映射到 Command 的情况并不常见,而且没有更简洁的方法来做同样的事情。

    关于wpf - 使用 MVVM 模式处理控件上的鼠标事件 - 最佳实践 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091466/

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