Click here to Skip to main content
15,881,559 members
Articles / Desktop Programming / WPF

WPF: DataTrigger on a TextBlock!

Rate me:
Please Sign up or sign in to vote.
3.00/5 (6 votes)
8 Sep 2009GPL3 65.4K   7   2
So how does one add a DataTrigger to a TextBlock and provide some default value?

How does one add a DataTrigger to a TextBlock and provide some default value? Well, it's actually quite simple, but I have noticed that quite a few people fall down on this one. Firstly, you cannot have set a DataTrigger on anything that is not a Style, ControlTemplate, or DataTemplate. Great, so I will set up a Style for my TextBlock, right? The answer is yes, but you must ensure that you do not override the Text property in your TextBlock, and set the default value in the Style instead like this :

XML
<style x:Key="StatusBlock"
  TargetType="TextBlock"
  BasedOn="{StaticResource {x:Type TextBlock}}">
    <setter Property="Text" Value="Default Text!"/>
</style>
<style .Triggers>
    <datatrigger 
      Binding="{Binding Path=CurrentView.IsRefreshing}"
      Value="true">
          <setter Property="TextBlock.Text"
                Value="Status: Refreshing! (please wait)..."/>
    </datatrigger>
</style>

Your TextBlock should be defined with the text not set, like this:

XML
<textblock Style="{StaticResource StatusBlock}"/>
This article was originally posted at http://www.sunmetablog.co.uk?p=171

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer
United Kingdom United Kingdom
We cannot achieve perfection but we can strive for excellence. Excellence through creativity that pushes innovation, collaboration that facilitates productivity, knowledge that empowers people and persistence that eventually pays off !

Enjoy what you do and do what you enjoy !

Comments and Discussions

 
GeneralMy vote of 1 Pin
Clifford Nelson5-Jun-12 8:23
Clifford Nelson5-Jun-12 8:23 
GeneralMy vote of 3 Pin
Mahmudul Haque Azad9-Mar-11 19:48
Mahmudul Haque Azad9-Mar-11 19:48 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.