2
我有一個(跛腳)用戶需求使控件超級可見。當控件可見時總是運行的WPF動畫
不幸的是,這意味着閃爍的背景(Ug)。
因此,該控件是一個Border
,它包含一個TextBlock
僅在相當少見的情況下才可見。
我看了一些動畫的例子,他們都有一個「觸發器」。用戶點擊某些內容時最爲常見。
有沒有辦法讓動畫一直運行(如果控件當然可見)?
我有一個(跛腳)用戶需求使控件超級可見。當控件可見時總是運行的WPF動畫
不幸的是,這意味着閃爍的背景(Ug)。
因此,該控件是一個Border
,它包含一個TextBlock
僅在相當少見的情況下才可見。
我看了一些動畫的例子,他們都有一個「觸發器」。用戶點擊某些內容時最爲常見。
有沒有辦法讓動畫一直運行(如果控件當然可見)?
在這裏你走,RepeatBehavior="Forever"
將保持動畫運行,直到停止或刪除
可以觸發與控制負荷啓用自動換色的動畫,並讓它運行永遠
如果您需要在可見性更改時觸發動畫,然後這裏是一種方法,請注意,動畫在IsVisible屬性變爲true時應用,並在變爲false時停止。
<Border Background="Transparent">
<TextBlock Text="some text" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<Trigger Property="IsVisible"
Value="true">
<Trigger.EnterActions>
<BeginStoryboard x:Name="startFlashing">
<Storyboard>
<ColorAnimation To="SkyBlue"
Storyboard.TargetProperty="Background.Color"
RepeatBehavior="Forever"
AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<StopStoryboard BeginStoryboardName="startFlashing" />
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
通常在可見性設置爲false之後,如果動畫仍在運行或停止,則沒有可見差異。