我正在编写一个基于 MVVM 架构的应用程序。该应用程序具有类似向导的工作流程。在我的应用程序的几个页面(视图)中,我需要一个按钮在满足特定条件时自动单击。这些视图使用根 Wizard 视图模型绑定在一起,该模型具有一个 ClickNextBtn 命令,该命令与根 Wizard 视图中的 Next 按钮相关联。所以,我需要在根向导视图中类似的东西:
<DataTrigger Binding="{Binding Path=CanAutoClickNext}" Value="True">
<Setter Property="ClickBtn" Value="true" />
</DataTrigger>
上面示例中的属性毫无意义,但希望它有助于传达我想要做的事情。
CanAutoClickNext 布尔属性在向导视图模型中可用。
在我需要自动单击“下一步”按钮的视图之一上,我尝试将 WizardViewModel 作为参数传递给其对应的视图模型的构造函数,当它在根向导视图模型中首次实例化时,然后在其中调用 ClickNextBtn稍后实际加载视图时其中的一个方法。但这并不奏效,不足为奇。
我知道如何以编程方式单击 wpf 按钮,但是将它们全部绑定在我拥有的框架中是一个巨大的挑战。任何反馈表示赞赏。
更新: 我最终重写了 UI 设计模式(仍然是 MVVM),因此现在不必自动移动到下一页,页面中的状态会发生变化,并且一组不同的控件会变为活动状态。然后提示用户单击下一步。