[英]Make an icon blink wpf application
我有一個圖標。
imgstop.Visibility = System.Windows.Visibility.Visible;
如何使圖標看起來在閃爍?
我嘗試了以下代碼:
public void blinkIconStopHide()
{
blinkTimerStop.Enabled = true;
blinkTimerStop.Interval = 15000;
imgstop.Visibility = System.Windows.Visibility.Hidden;
blinkTimerStop.Elapsed += new System.Timers.ElapsedEventHandler(tick_to_hideStop);
}
private void tick_to_hideStop(object sender, EventArgs e)
{
blinkIconStopShow();
}
public void blinkIconStopShow()
{
blinkTimerStop.Enabled = true;
blinkTimerStop.Interval = 15000;
imgstop.Visibility = System.Windows.Visibility.Visible;
blinkTimerStop.Elapsed += new System.Timers.ElapsedEventHandler(tick_to_showStop);
}
private void tick_to_showStop(object sender, EventArgs e)
{
blinkIconStopHide();
}
但屏幕上似乎沒有任何東西在閃爍。
動畫圖標/圖像怎么樣?
XAML
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="1" To="0" Storyboard.TargetProperty="Opacity"
Duration="0:0:0.4" RepeatBehavior="Forever"
AutoReverse="True"/>
</Storyboard>
</BeginStoryboard>
C#
DoubleAnimation da = new DoubleAnimation();
da.From = 1;
da.To = 0;
da.Duration = new Duration(TimeSpan.FromSeconds(2));
da.AutoReverse = true;
da.RepeatBehavior = RepeatBehavior.Forever;
yourimage.BeginAnimation(OpacityProperty, da);
以下代碼將通過切換可見性讓您的圖標每秒閃爍一次。 通過更改 DispatcherTimer 的間隔,您可以更快或更慢地閃爍圖標。
DispatcherTime _blinkTimer = new DispatcherTimer();
public void StartBlinking() {
_blinkTimer.Interval = TimeSpan.FromSeconds(1);
_blinkTimer.Elapsed += ToggleIconVisibility;
_blinkTimer.Start();
}
public void StopBlinking() {
_blinkTimer.Stop();
_blinkTimer.Elapsed -= ToggleIconVisibility;
}
private void ToggleIconVisibility(object sender, EventArgs e)
{
imgstop.Visibility = !imgstop.Visibility;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.