【发布时间】:2015-02-20 17:28:04
【问题描述】:
WinRT 怎么可能做到这一点?
我已阅读 WPF How to programmatically click a button in WPF? 的答案,但并没有真正帮助我。
有人解决过这样的问题吗?
【问题讨论】:
-
你为什么要这样做?如果您运行以运行其处理程序,请将其移至单独的方法并调用它。
标签: c# windows-runtime
WinRT 怎么可能做到这一点?
我已阅读 WPF How to programmatically click a button in WPF? 的答案,但并没有真正帮助我。
有人解决过这样的问题吗?
【问题讨论】:
标签: c# windows-runtime
首先,我想说的是,如果您希望按钮“看起来已被按下(就动画/高亮效果而言),这对您没有帮助,但应该这样做。
如果您还没有设计应用程序,我对您的建议是在设计应用程序时遵循模型-视图-视图模型 (MVVM) 设计模式。这样,您可以简单地在视图模型中执行通常绑定到该点击的方法,而不是调用“按钮”点击。
例子:
您创建一个模型类来表示数据库中的数据。 您创建一个带有按钮和其他 UI 元素的视图(页面/窗口)。 您创建一个具有一系列公共方法和集合的 ViewModel 类。
现在,在 View 的 XAML 中,您将 ViewModel 绑定为 DataContext,并将 ViewModel 的公共属性绑定到您的集合(例如,ListBox 的 ItemSource 绑定到 ObservableCollection)。您可以创建作为“命令”的公共方法并将它们绑定到您的按钮,以便在触发按钮单击事件时执行视图模型中的命令。现在,对于您的所有单元测试以及您可能希望以编程方式“单击”按钮的任何其他原因,您可以简单地调用 ViewModel 中的关联方法,而不必担心实际的 View 在做什么。
【讨论】: