Я ищу для реализации этой функции: кнопка, привязанная к команде, которая может сигнализировать о том, что команда была успешной в виде красной или зеленой вспышки. В то же время, я хочу, чтобы кнопка выглядела как другие кнопки.Кнопка Wpf с обоими результирующими файлами раскадровки и фоновой подсветкой
Это код, у меня сейчас:
<Button IsEnabled="{Binding EmptyingAllowed}" Content="Töm lista" Foreground="#555555" FontWeight="SemiBold" Height="20" Width="65" Command="{Binding EmptyListCommand}" >
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border BorderBrush="#BBBBBB" Padding="1" BorderThickness="0,0,1,1" Background="#DDDDDD">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding ClearedOk}" Value="Ok">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation AccelerationRatio="0.2" DecelerationRatio="0.01" AutoReverse="True" Duration="0:0:1" To="LawnGreen" Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding ClearedOk}" Value="Error">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation AccelerationRatio="0.2" DecelerationRatio="0.01" AutoReverse="True" Duration="0:0:1" To="Red" Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Когда команда будет выполнена, ClearedOk установлен на «Ok» или «Error», а затем «Empty», это вызывает вспышку я к сожалению, обычный mouseOver-эффект по какой-то причине теряется, и если я добавляю mouseOver-trigger, он всегда имеет приоритет над мигающим эффектом, то есть вспышка видна только кнопкой, а не mouseOver: ed.
Есть ли решение для этого?
этот код работает прямо сейчас? потому что я не вижу ни одной вспышки и всего материала –
@ MårtenThurén вы попробовали установить 'FillBehavior =" Stop "' против 'ColorAnimation'? – dkozl
Dhaval, да, действительно ли вы правильно настроили настройку ClearedOk? То, как я это делаю, я настраиваю его на Ok, затем на Empty сразу после этого. –