Мой вопрос довольно прост, потому что он работает в других случаях, но не с событием с двойным щелчком мыши. Я хочу сделать редактируемые элементы табуляции, и это почти сделано. Может быть, код будет прояснить ситуацию:MouseDoubleClick маршрутизированное событие не запускается в EventTrigger
<StackPanel Orientation="Horizontal">
<TextBox x:Name="HeaderEditMode" Text="{Binding Header, Mode=TwoWay}" Visibility="Collapsed" />
<TextBlock x:Name="HeaderDisplayMode" Text="{Binding Header, Mode=TwoWay}" />
<StackPanel.Triggers>
<EventTrigger RoutedEvent="MouseDoubleClick">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderEditMode"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderDisplayMode"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderEditMode"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderDisplayMode"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
Если изменить MouseDoubleClick к, например, к MouseDown или MouseEnter он прекрасно работает. Какие-либо предложения?
'StackPanel' не поддерживает событие MouseDoubleClick. Он реализован в классе 'Control'. Вы можете сделать 'Control.MouseDoubleClick', но тогда вам все равно понадобится' Control' для запуска этого события – dkozl
Это полезно. Хорошо, я попытаюсь найти sth, что тригер это событие. Вы можете завершить это нажатием кнопки, но затем вы потеряете все стили, которые я использовал: /. Возможно, тогда это станет прозрачным. – kjubersson
Извините, я ввел вас в заблуждение. Просто проверено и ['Control.MouseDoubleClick'] (http://msdn.microsoft.com/en-us/library/system.windows.controls.control.mousedoubleclick (v = vs.110) .aspx) является прямым маршрутизируемым событием что означает, что он срабатывает ** только на самом «контроле» **, поэтому вы не можете его поймать на «StackPanel» в любом случае – dkozl