WPF 在 Style 中将事件转化为命令.
某些情况下需要通过样式将 View 中控件的事件转接到 ViewModel 中的 Command 上,且不想重写模版.
可以使用 GitHub - hellzerg/optimizer: The finest Windows Optimizer
只需要在 Style 中使用 Setter 即可达到目的.
例:
<Style TargetType="{x:Type Border}"> <Setter Property="local:CommandBehaviorCollection.StyleBehaviors"> <Setter.Value> <local:BehaviorBindingCollection> <local:BehaviorBinding
Event="MouseRightButtonDown"
Command="{Binding SomeCommand}"
CommandParameter="A Command on MouseRightButtonDown"/> </local:BehaviorBindingCollection> </Setter.Value> </Setter> </Style>