как вызвать действие раскадровки из codebehind?

#xaml #c#-4.0 #silverlight-4.0

#xaml #c #-4.0 #silverlight-4.0

Вопрос:

Я новичок в silverlight, у меня есть анимация для flip из сети, и я выполнил тот же шаг, он отлично работает для меня, и я пытаюсь реализовать эту форму в codebehind, я не знаю, как это сделать, может кто-нибудь помочь мне, пожалуйста.

 xmlns:TransitionBehaviours="clr-namespace:RMGUtils.RT.UI.Helpers.ShowHideTransition"


 <Grid x:Name="DataGridBack">
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="MouseLeftButtonDown">
                                <TransitionBehaviours:ShowHideWithFlip  ShowElementName="FrontFaceGrid" HideElementName="AlternateFaceGrid" Direction="BottomToTopCrazy" />
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
  </Grid>
  

Ответ №1:

Вы можете вызвать раскадровку из кода следующим образом

 mystoryboard.Begin();
  

Комментарии:

1. ShowHideWithFlip — это файл класса, и в нем в коде есть begin() внутри в качестве последней строки

2. К вашему сведению, я получил образец файла из gallery.expression.microsoft.com/ShowHideWithFlip

Ответ №2:

Код, который вы здесь показываете, на самом деле не раскадровка, а триггер. Весь смысл наличия триггера в том, что вам не нужно писать какой-либо код для его вызова. Вы можете прикрепить его к любым элементам управления, например, вы можете прикрепить его к кнопке и задать для имени события значение Click .

Комментарии:

1. Спасибо, но когда я пытаюсь использовать это внутри сетки данных с помощью кнопки в столбце, для этого это не работает

2. Кнопка внутри dg находится на один уровень ниже, поэтому ShowElementName и AlternateFaceGrid не будут работать, поскольку они не могут найти сетки по их именам, вам нужно изменить код в триггере, чтобы заставить это работать, или вы можете попробовать поместить его за пределы dg.