2013-08-05 27 views
12

我想設置WPF中包含隨機長度(人名)字符串的項目列表。它們中的大多數通常都在一定的大小內,但偶爾會碰到一條很長的字符串,以至於它超出了容器的邊界。當它太長時我通常會截斷它,但我寧願顯示整個字符串。WPF縮放文本只適合太大時

如何強制文本保持正常大小,除非太大以至於不適合......在這種情況下,將文本縮小以適合其大小?

注意:這是不一樣的縮放所有文字,以適應一定的規模,這是使用文本週圍視框

IE來完成:這不是我想要的:

<Viewbox MaxWidth="100"> 
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/> 
</Viewbox> 

這使得所有事情都在小規模時擴大規模,在規模過大時規模縮小。我只希望它在縮小時過大,從不縮放時太小...

有什麼想法?

+0

重複:https://stackoverflow.com/questions/14881683/wpf-automatic-resize-font-until-it-fits-within-parent-control –

回答

17

使用Viewbox,但將其StretchDirection屬性設置爲DownOnly

<Viewbox MaxWidth="100" StretchDirection="DownOnly"> 
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/> 
</Viewbox> 
+0

正是我一直在尋找。男人,我無法從谷歌找到這個,多麼簡單的解決方法。我想到WPF的人在某個時候或其他地方想過這件事......謝謝 –