Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to grow/shrink a TextBlock (Font Size) to the available space in WPF?

I've seen this question asked a lot, however, to the opposite of what I'm looking for. While other people want a control to size itself based on the size of text, I'm trying to figure out is if there is a way to grow the size of text to the amount of space available.

Take the idea of a digital clock window and you want the numbers stating the time to grow (or shrink) based on the size of the window the clock is in. If there isn't a way to automatically do this any pointers to a programmatic way I can get this accomplished?

like image 641
Greg Andora Avatar asked Jan 25 '11 14:01

Greg Andora


1 Answers

The WPF Viewbox control will grow / shrink its contents to the available space:

http://www.wpftutorial.net/ViewBox.html

Just place your TextBlock within a ViewBox:

<Viewbox Stretch="Uniform" Width="50" Height="50">     <TextBlock Text="Test" /> </Viewbox> 

Of course, your Viewbox is typically scaled by its container, but hopefully you get the idea!

like image 66
ColinE Avatar answered Oct 02 '22 15:10

ColinE