Una manera de manejar eventos en MVVM y XAML es utilizar las características de mezcla interactividad. Este espacio de nombres contiene las clases InvokeCommandAction y CallMethodAction.
InvokeCommandAction le permite vincular cualquier evento a un comando view-model mientras que CallMethodAction le permite vincular cualquier evento a un método de modelo de vista.
Por ejemplo, si desea enlazar el evento de DoubleClick de un botón a un comando de vista-modelo que lo haría así:
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding Path=DoSomethingCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
y la declaración de este espacio de nombres:
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
Todo lo necesidad de referencia en sus proyectos es instalar Expression Blend o Expression Blend SDK.
Imo unirse a un evento a un modelo de vista nunca es una buena idea. Bueno, por supuesto, depende de cómo quiera que MVVM trabaje para usted, pero separamos estrictamente Eventos, que son lógica de UI, y comandos que son lógica de negocios. Solo quería agregar esto :) al final depende mucho de cómo y qué quieres lograr. – dowhilefor
Gracias, buen comentario lo tendré en cuenta. Por ahora solo quiero que el código detrás de los archivos esté vacío. Pero de todas las cosas que leí, tiene razón;) – jefsmi
@dowhilefor eso es una respuesta en sí misma, y una buena. Te sugiero que escribas algo. :) – ANeves