puede encontrar XCommand abierta proyecto WPF extensión de codeplex fuente aquí, xcommand.codeplex.com, esto le permite enlazar comandos y CommandParameter de cualquier evento como MouseMove, MouseLeftButtonDown a cualquier elemento de interfaz de usuario que hereda de UIElement WPF.
Aquí puede encontrar la aplicación de Windows 8 y la versión de la aplicación de escritorio de Windows de las bibliotecas de clases. Desea que WPFXCommand se ocupe de la aplicación de escritorio WPF. Aquí, cómo funciona. Agregue WPFXCommand.dll como referencia a su proyecto deseado.
Añadir el espacio de nombres en su archivo XAML de la siguiente manera:
xmlns:XCmd="clr-namespace:WPFXCommand;assembly=WPFXCommand"
Ahora, puede enlazar Comando y CommandParameter a eventos disponibles en cualquier elemento de la interfaz de usuario heredan de WPF UIElement como a continuación:
<Grid>
<TextBlock Margin="20,30,20,0" VerticalAlignment="Top" Height="80" x:Name="XTextBlock"
Foreground="{Binding FgColor, Mode=TwoWay}"
XCmd:MouseMove.Command="{Binding TextBlockPointerMovedCommand}"
XCmd:MouseLeftButtonDown.Command="{Binding TextBlockPointerPressedCommand}"
XCmd:MouseLeave.Command="{Binding TextBlockPointerExitedCommand}"
Text="{Binding Description, Mode=TwoWay}">
</TextBlock>
<Grid Grid.Column="1" Background="{Binding BgColor, Mode=TwoWay}"
XCmd:MouseMove.Command="{Binding GridPointerMovedCommand}"
XCmd:MouseMove.CommandParameter="{Binding ElementName=XTextBlock, Path=Text}"
XCmd:MouseLeftButtonDown.Command="{Binding GridPointerPressedCommand}"
XCmd:MouseLeftButtonDown.CommandParameter="{Binding ElementName=XTextBlock, Path=Text}"
>
</Grid>
</Grid>
Espero que esto te ayude a deshacerte de e código basado en ventilación detrás.
Olvidó mencionar que esto usa Blend – TigOldBitties