У меня есть стиль, и я хочу привязать команду к EventSetter
Handler
с помощью RelativeSource
. Команда находится в viewModel.
<Style x:Key="ItemTextBlockEventSetterStyle" TargetType="{x:Type TextBlock}">
<EventSetter Event="MouseLeftButtonDown"
Handler="{Binding TextBlockMouseLeftButtonDownCommand,
RelativeSource={RelativeSource Self}}"/>
</Style>
Проблема в том, что я получаю сообщение об ошибке, потому что с этим что-то не так (возможно, это невозможно сделать так легко)
Я много раз сталкивался с ошибками, и я нашел AttachedCommandBehaviour
, но я думаю, что это не работает со стилем.
Не могли бы вы дать некоторые подсказки о том, как решить эту проблему?
Обновление 13/10/2011
Я нашел это в примере программы MVVM Light Toolkit EventToCommand
:
<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>
Но здесь привязка не в стиле. Как я могу поместить этот EventToCommand
в стиль кнопки?