2015-10-30 8 views
0

Я использую раскадровку и EventTrigger стрелять много события, когда вкладка щелкает, которая работает, но после того, как расширитель расширяется, экспандер застрять после IsExpanded установлено верно по раскадровкерасширителя застрял после IsExpanded

Вопрос является как я могу сделать расширитель рухнувшего/расширенного руководства снова после того, как он сядет на истину по раскадровке ??

<Storyboard x:Key="Operation"> 


      <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="(IsExpanded)" Storyboard.TargetName="ExpanderAnetArticle" FillBehavior="HoldEnd"> 
       <DiscreteBooleanKeyFrame KeyTime="0" Value="True"/> 
      </BooleanAnimationUsingKeyFrames> 


     </Storyboard> 

    </Window.Resources> 

    <Window.Triggers> 

<EventTrigger RoutedEvent="UIElement.MouseLeftButtonUp" SourceName="CtrlTiOperation"> 
      <BeginStoryboard x:Name="Operation_BeginStoryboard" Storyboard="{StaticResource Operation}"/> 
      <BeginStoryboard x:Name="Tabfocus_BeginStoryboard" Storyboard="{StaticResource Tabfocus}"/> 
     </EventTrigger> 
+1

Нам нужно видеть все ваши XAML, чтобы помочь вам, по крайней мере расширитель и задействованные элементы управления/ресурсы – Luca

ответ

0

Ваш FillBehavior = «HoldEnd» означает, что вы не можете изменить свойство из кода, потому что удерживается раскадровки.

В предыдущем ответе на ваш аналогичный вопрос я предложил вам указать значение Stop для FillBehavior, но это неправильно, потому что с Stop значение будет возвращено в конце анимации.

Вы можете поместить законченное событие в вас анимации и так что-то вроде этого:

private void animation_Completed(object sender, EventArgs e) 
{ 
    bool isexpanded = Exp1.IsExpanded; 
    Exp1.BeginAnimation(Expander.IsExpandedProperty, null); 
    Exp1.IsExpanded = isexpanded; 
} 

где Exp1 твой Expander.

Вы берете значение, останавливаете анимацию, а затем возвращаете значение. IT работает хорошо.

Это не единственный метод, но я делаю тест для себя.

+0

спасибо .... IT работает хорошо ... спасибо –

+0

Добро пожаловать, рад помочь – Giangregorio