Ho uno stile e desidero associare un comando allo EventSetter
di Handler
con RelativeSource
. Il comando è in viewModel.gestore di eventi wpf binding in stile
<Style x:Key="ItemTextBlockEventSetterStyle" TargetType="{x:Type TextBlock}">
<EventSetter Event="MouseLeftButtonDown"
Handler="{Binding TextBlockMouseLeftButtonDownCommand,
RelativeSource={RelativeSource Self}}"/>
</Style>
Il problema è che ho un errore, perché qualcosa è sbagliato in questo (forse non è possibile farlo in modo facile)
Googled molto prima, e ho trovato il AttachedCommandBehaviour
, ma penso che non funzioni con lo stile.
Potresti dare qualche suggerimento su come risolvere questo problema?
Aggiornamento 13/10/2011
ho trovato questo nel programma EventToCommand
esempio MVVM Luce Toolkit:
<Button Background="{Binding Brushes.Brush1}"
Margin="10"
Style="{StaticResource ButtonStyle}"
Content="Simple Command"
Grid.Row="1"
ToolTipService.ToolTip="Click to activate command">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cmd:EventToCommand Command="{Binding SimpleCommand}" />
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeave">
<cmd:EventToCommand Command="{Binding ResetCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Ma qui, il legame non è nello stile. Come posso inserire questo EventToCommand
nello stile del pulsante?
Bella idea di mettere l'esecuzione del comando all'evento, ma proverò l'AttachCommandBehavior domani! Grazie mille per la risposta! –
AttachCommandBehavior funziona perfettamente. Una cosa che non so come risolvere. Voglio legare i comandi non solo per un evento, e ho trovato questo tipo di soluzione: http://stackoverflow.com/questions/926451/how-can-i-attach-two-attached-behaviors-to-one- xaml-element È davvero buono, ma come posso mettere questo CommandBehaviorCollection allo stile? Grazie in anticipo per la risposta! –
@ ZoltánBarna Sembra non funzionare in Stili o Modelli – Rachel