I have a user control containing a text box and a label, the label display the length of the input text (with some formatting). I want to change the background color of the text box if the text is longer than 160 characters.

I was thinking of achieving this with bindings, but since the length of the text contain tag to be replaced I'm not willing to have 2 different binding making the same computing.
I don't succeed in changing 

I can think of three way to achieves this :

1) create a hidden label with all tags replaced in his text, then have two simple converter to bind display the message length and change the background color. 3 converter for such a basic task seems too much to me.

2) Use the text\_changed event to do the work. This work but it seems to me its not the way to do things in WPF.

3) Use a multibinding and pass my form as a source, this should work but looks too much 'god object' approach to me.

What do you think of that ? Am I missing a cleaner/simpler solution ?

Any suggestion is welcome, Thanks in advance.