我正在使用MVVM模式处理WPF项目。我需要添加一个触发器,将路由命令发送到我所有编辑屏幕上每个文本框的视图模型。
我想通过使用我应用于所有文本框的资源字典中的样式来实现此目的。为了简化生活,我想在资源字典中执行命令绑定。类似于以下内容 -
<Style x:Key="EditTextBox" TargetType="{x:Type TextBox}">
<Style.Triggers>
<EventTrigger RoutedEvent="Control.IsFocused">
<Actions:InvokeCommand Command="{Binding UpdateHelpCommand}" CommandParameter="{Binding}"/>
</EventTrigger>
</Style.Triggers>
</Style>
操作:InvokeCommand来自JulMar MVVM Helpers + Behaviors库。此函数在视图模型中调用路由命令。
关于如何在不手动将其添加到每个控件的情况下完成此操作的任何建议?
答案 0 :(得分:1)
什么阻止您使用键入的样式(没有定义键的样式)而不是您当前使用的命名样式?这样就不需要为每个文本框指定样式。