Делаю приложение на WPF C#. Хочу сделать для кнопки анимацию мерцания, через привязку к свойству.
Кнопка xaml:
<Button x:Name="btAction" Margin="0" BorderThickness="0" HorizontalContentAlignment="Left" Padding="5" Height="25" FontFamily="/LK_Teacher;component/Assets/Fonts/#Font Awesome 5 Free Regular">
<Button.ToolTip>
<ToolTip>
<StackPanel Orientation="Horizontal">
<Label x:Name="labTag" FontFamily="/LK_Teacher;component/Assets/Fonts/#Font Awesome 5 Free Regular" FontSize="18" VerticalAlignment="Center" Padding="0" VerticalContentAlignment="Center" Margin="0,0,5,0"></Label>
<TextBlock x:Name="tblTitle" FontSize="14" FontFamily="/LK_Teacher;component/Assets/Fonts/#Roboto" VerticalAlignment="Center" Margin="5,0"></TextBlock>
<Label x:Name="labType" Margin="5,0,0,0" FontFamily="/LK_Teacher;component/Assets/Fonts/#Font Awesome 5 Free Regular" FontSize="16" VerticalContentAlignment="Center" Grid.RowSpan="2"/>
</StackPanel>
</ToolTip>
</Button.ToolTip>
</Button>
Стили для кнопки которые привязываются во время работы программы:
<Style x:Key="BorderB" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter VerticalAlignment="Center" Margin="5,0,0,0" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ClassButton" TargetType="{x:Type Button}" BasedOn="{StaticResource BorderB}">
<Setter Property="Button.Background" Value="#E3B638"/>
<Style.Resources>
<Style>
<Setter Property="Label.Content" Value=""></Setter>
<Setter Property="Label.Foreground" Value="#E3B638"/>
</Style>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Border.IsMouseOver" Value="True">
<Setter Property="Border.Background" Value="#FAD25F"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ActiveMode, ElementName=UCEventItem, Mode=TwoWay}" Value="True"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
To="Blue" AutoReverse="True" Duration="0:0:1.5" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</MultiDataTrigger.EnterActions>
</MultiDataTrigger>
</Style.Triggers>
</Style>
Свойство C#:
private bool activeMode;
public bool ActiveMode {
get { return activeMode; }
set
{
activeMode = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("ActiveMode"));
}
}
}
Мне нужно, чтобы при изменении свойства активировалась анимация смены цвета и наоборот. Вообщем все так и работает, только после срабатывания Trigger'а IsMouseOver (изменения цвета при наведении) анимация прекращается. И как сделать чтобы работало все грамотно я не знаю.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Например хочу найти строку начинающую на "лала," а заканчивающуюся на "ooo" Можно ли это как-то реализовать?
Возникла необходимость подключение сканера штрихкодов к телефону на AndroidПодключение сканера будет через USB порт
У меня есть форма, на ней панель, у этой панели есть определенный фонНа панели есть кнопка у которой в свойствах указан цвет фона - Transparent
У меня есть массив битов размером 512 байт который я получаю следующим образом