Silverlight MVVM:我的(对象发送者,RoatedEventArgs e)去了哪里?

2024-03-30

我在视图模型中使用命令来处理事件。例如我正在处理这样的按钮单击事件:

XAML

            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Click">
                    <i:InvokeCommandAction Command="{Binding mvvmButtonclick}" />

                </i:EventTrigger>
            </i:Interaction.Triggers>

视图模型代码

   public ICommand mvvmButtonclick
    {
        get;
        private set;
    }

用于连接命令的 Viewmodel 构造函数代码

this.mvvmButtonclick = new ActionCommand(this.ButtonClickedEvent);

单击按钮时调用的视图模型中的实际方法

   private void ButtonClickedEvent()
    {
        MessageBox.Show("worked!!!");
    }

这有效。所以我的问题是:

  • 这是正确的方法吗?
  • 有没有一种方法可以将 (object sender, RoutedEventArgs e) 参数传播到我的视图模型中,我应该关心它是否不存在?
  • 假设这是一个列表框选择更改事件而不是按钮单击。如何在没有选择项的情况下获取所选项目的值对象发送者、SelectionChangedEventArgs e参数?

我认为您可能错过了交互触发器旨在提供的视图和视图模型之间的分离点。

交互触发器的目的是允许设计者(通常使用 Blend)在视图模型上调用命令。哪个 UI 元素以及 UI 元素上的哪个事件可能调用此类命令设计师 choice.

如果 ViewModel 确实需要特定的派生EventArgs在这样的命令调用期间提供,那么这会束缚设计者的手脚。它将在视图和视图模型之间创建交互触发器渴望消除的那种耦合。

至于您的最后一个问题,确定列表框中当前选定的项目并在其更改时收到通知的方法是在视图模型上创建一个绑定到SelectedItem的列表框。此类事情不需要员工交互触发器或命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight MVVM:我的(对象发送者,RoatedEventArgs e)去了哪里? 的相关文章

  • 我可以使用 Silverlight 的 WriteableBitmap 将 UI 的不可见部分保存到位图吗?

    假设我有一些网格 您需要向下滚动才能查看其所有行 并且我有兴趣保存一些当前不可见的位图行 是否可行 或者我是否必须实际向下滚动 拍摄快照 然后再次向上滚动 这是一个可行性问题 因此我没有代码可以分享 是的 您可以将任何 UIElement
  • LiveData无法观察到变化

    我正在更新一个ViewModel 中 DialogFragment 的 LiveData 值 但无法获取Fragment中的值 视图模型 class OtpViewModel private val otpUseCase OtpUseCas
  • WPF/Silverlight 面试问题? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您希望某人在 WPF Silverlight 开发工作的面试中了解哪些类型的问题 入门级 强大的 NET 2 0背景并且愿意学习 解释一下依赖属
  • Silverlight 4 TextBox 中的字符大小写

    我正在编写 Silverlight 4 业务应用程序 但遇到了问题 我需要将文本框中的文本输入强制为大写 我从各个论坛了解到 Silverlight 没有实现 CharacterCasing 和 CSS 样式 还有其他方法可以实现这一目标吗
  • 如何在Dialog中使用数据绑定?

    我在对话框中实现数据绑定时遇到问题 是否可以 下面是我的 xml
  • 将 KeyUp 作为参数传递 WPF 命令绑定文本框

    我有一个文本框 KeyUp 事件触发器连接到 WPF 中的命令 我需要将按下的实际键作为命令参数传递 该命令执行得很好 但处理它的代码需要知道按下的实际键 记住这可能是一个回车键或不仅仅是一个字母的任何键 所以我无法从 TextBox te
  • 如何将 MouseDown 事件放入样式中?

    这有效 XAML
  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • MVVM 中动态创建 MenuItem-Separator 的 WPF 光学样式

    我有一个MenuItem从动态创建其子菜单项ItemsSource 财产 对于分组 我在菜单中有分隔符 分隔符是由 ItemsSource 集合中的 ControlTemplate 为每个空条目创建的MenuItem ItemContain
  • 如何从 silverlight 中的视图模型从一个视图导航到另一个视图?

    我有一个 ViewModel 和两个 View 如何从 ViewModel 导航到 View2 我在某处读到我们需要使用 PRISM 在 Silverlight 中从 ViewModel 打开多个视图 PRISM 有什么替代方案吗 理想情况
  • 需要帮助处理 Application.xaml 文件中的 DataTemplate 事件

    我的应用程序中有一个包含几个按钮的数据模板 我希望这些按钮的偶数处理程序在当前页面 我在许多页面中使用此模板 而不是在 Application xaml vb cs 文件中触发 因为我希望在每个页面上执行不同的操作 我希望我说清楚了 您可以
  • 为单个列表注册事件处理程序

    我有一个共享点事件处理程序 我想为单个列表激活它 而不是站点中的所有列表 我该怎么办 得到答案了 我们需要运行这段代码 也许在控制台应用程序中 不过 我仍然不知道如何在添加事件处理程序后将其删除 string siteUrl Console
  • Exchange 上公用文件夹上的 ItemAdd 事件

    我在将事件处理程序附加到ItemAdd公共文件夹的事件 问题是事件处理程序在几次后停止被调用 成功调用 代码很简单 我有一个ThisAddIn类创建一个对象 该对象又将一个函数附加到ItemAdd其构造函数中的事件 该函数只是弹出一个消息框
  • jQuery 键盘事件处理程序按住

    我想为游戏创建一个简单的事件处理程序 这是我的代码 document keydown function e switch e keyCode case 65 left a console log left break case 68 rig
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 如何更改 TextBox.Text 而不丢失 WPF 中的绑定?

    在 WPF 应用程序中 我正在创建一个设置窗口来自定义键盘快捷键 在文本框中 我处理 KeyDown 事件并将 Key 事件转换为人类可读的形式 以及我想要获取数据的形式 文本框声明如下
  • Windows 8 Windows 应用商店应用程序中的中继命令

    由于 CommandManager 在 win8 Metro 应用程序中不可用 是否有 RelayCommand 的版本 有一个版本here https xp dev com svn mytoolkit Shared MVVM RelayC
  • ViewModel 中的 TextBox CaretIndex 属性

    是否可以通过视图中定义的 Binding 获取 设置 wpf 视图模型中 TextBox 控件的 CaretIndex 属性的值 Thanks 这里的问题是如何获得CaretIndex of the TextBox通过视图模型进行控制 如果
  • ReactiveUI 和 Caliburn Micro 一起?

    我一直在使用 Caliburn Micro 作为我们的 MVVM 框架对新的 Silverlight 应用程序进行一些原型工作 团队总体上对此感到满意 为了解决对服务的请求限制的一些问题 有人建议我研究 ReactiveUI 的 React
  • silverlight/xaml 中通知的图标徽章覆盖

    我的 silverlight 应用程序中有一个功能区栏 并且在其中一个图标上我希望有一个徽章图标 显示该图标激活的视图中的项目数 想象一下 OS X 中显示未读邮件数量的邮件图标或 IOS 应用程序图标上的通知计数器 我对 xaml 样式不

随机推荐