I have a label that I only make visible based on one of my ViewModel Properties. Here is the XAML:
<Label HorizontalAlignment="Center" VerticalAlignment="Center"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
FontSize="24" Width="200" Height="200" >
<Label.Content >
Option in the money!
</Label.Content>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding OptionInMoney}" Value="True">
<Setter Property="Visibility"
Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
I'm not sure this is the best way, but in any case, I'd also like to have the label flashing. Clearly, I only want it flashing when it is visible. Can someone point me to some example code, or write a quick example to do this? I assume I need some sort of trigger, and an animation. Presumably I also need a trigger when the label is no longer visible so that I stop the animation?
Thanks, Dave P.S. Is there a good book or site for all these WPF tricks? Something like the "MFC Answer Book" for those that remember that book.
You could add a
Storyboard
animation to theStyle.Resources
and start it in theEnterActions
section of theDataTrigger
.A simple
DoubleAnimation
on theOpacity
should work fineSomething like this:
Try this post. It's called 'Blinking TextBlock' but you can easily swap a
TextBox
for a Label`.StoryBoard is certainly the WPF way, but it can be achieved by a simple code also. Here it goes, to make a label background blink:
lblTimer is a Lebel on your form with some text, say, "I AM BLINKING"
This can be applied to any property, as VISIBILITY.