Триггеры Silverlight в шаблоне кнопок? - PullRequest
1 голос
/ 10 марта 2010

Есть ли у кого-нибудь работающий пример того, как использовать триггеры в шаблоне кнопок Silverlight с использованием библиотек Microsoft.Expression.Interactivity?

Я хочу ответить на событие click в шаблоне Button, заданном в стиле, путем запуска анимации.

Ответы [ 3 ]

2 голосов
/ 10 марта 2010

Вы хотите использовать EventTrigger, который запускает GoToStateAction

<Button x:Name="button" Height="53" HorizontalAlignment="Left" Margin="173,124,0,0" VerticalAlignment="Top" Width="147" Content="Button">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Click">
            <ic:GoToStateAction TargetName="checkBox" StateName="Checked"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Button>
<CheckBox x:Name="checkBox" Height="24" HorizontalAlignment="Left" Margin="173,206,0,0" VerticalAlignment="Top" Width="147" Content="CheckBox"/>

Чтобы сделать это в Blend, перетащите GoToStateAction на кнопку, а затем установите свойство TargetName для целевого UIElement и свойство StateName в желаемое состояние.

0 голосов
/ 27 марта 2012

похоже, что это было невозможно в то время.

0 голосов
/ 10 марта 2010

Вы всегда можете использовать VisualStateManager и перейти в состояние «Щелчок», обрабатывая событие нажатия кнопки.

void myButton_Click(object sender, RoutedEventArgs)
{
     VisualStateManager.GoToState(this, "Click", true);
}

Вам также необходимо определить стиль и состояние в коде XAML.

<Style x:Key="ButtonStyle" TargetType="Button">       
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="StateGroup">
                               <VisualState x:Name="ActiveLink">
                                    <Storyboard>
                                        //animations go here
                              ...

Также помните, что объекты Button имеют несколько предопределенных состояний, таких как Disabled, Pressed (Click?), MouseOver и Normal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...