我有一個View Model對象,它具有一個叫做IsSearching
的快捷屬性;它是一個bool
。我的表單有一個TextBlock
控件,用於顯示匹配行的數量。綁定到TextBlock's
Text
屬性的屬性是int?
類型。在搜索開始時,酒店設置爲null
。綁定中的轉換器顯示爲「 - 」。當ViewModel的依賴項屬性具有一定的值時,如何讓aTextBlock僅閃爍?
我希望「 - 」字符串閃爍,而IsSearching
屬性是true
,而我不希望閃光燈是false
。這是我到目前爲止有:
的StoryBoard
:
<Storyboard x:Key="FlashTextBlockText">
<ObjectAnimationUsingKeyFrames RepeatBehavior="Forever" Storyboard.TargetProperty="(UIElement.Visibility)">
<DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="{x:Static Visibility.Hidden}" />
<DiscreteObjectKeyFrame KeyTime="0:0:1" Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
一種只TextBlocks
名爲Style
:
<Style BasedOn="{StaticResource {x:Type TextBlock}}" x:Key="FlashBlockText" TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsSearching}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource FlashTextBlockText}" />
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
的IsSearching
屬性最初false
。當用戶點擊搜索Button
時,它被設置爲true並開始閃爍。但它不停止閃爍。
當IsSearching
設置回false
時,我如何獲得StoryBoard
?
Tony
謝謝!這也是有效的,比解決方案更清潔。我修改了我的代碼以使用此方法。 – 2012-07-17 15:06:09
謝謝彼得。你的解決方案更清潔。學到了新東西。 – KornMuffin 2012-11-06 15:10:22