2013-08-05 10 views
12

WPF'de rastgele uzunluktaki dizeleri (kişilerin adları) içeren bir öğe listesi oluşturmaya çalışıyorum. Bunların çoğu genellikle belirli bir boyuttadır, ancak bazen bir dizeyle karşılaşırsınız, o kadar uzun bir süre boyunca konteynerin sınırlarını aşar. Normalde onu çok uzun zaman kısalttım, ancak dizgenin tamamını göstermeyi çok isterim.WPF metni sadece çok büyük olduğunda sığacak şekilde ölçeklendirin

Metni sığmayacak kadar büyük değilse, normal boyutta kalmasını nasıl zorlayabilirim?

NOT: Bu

IE metnin etrafında bir ViewBox kullanılarak gerçekleştirilir belirli bir boyuta, sığdırmak için tüm metin ölçekleme aynı değildir: Bu DEĞİLDİR ne istiyorum:

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

Bu, çok küçük olduğunda her şeyin ölçeklendirilmesini sağlar, ayrıca çok büyük olduğunda da ölçeklendirir. Ben SADECE ne zaman çok büyük ve ne zaman ölçeğini küçültmek istiyorum ne zaman çok küçük ölçekli ...

Herhangi bir düşünce?

+0

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

cevap

17

Viewbox kullanın, ancak StretchDirection özelliğini DownOnly olarak ayarlayın.

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

aradığım Tam olarak ne. Adam, bunu Google'dan hiç bulamadım, ne kadar basit bir düzeltme lol. Ben WPF adamlar bu konuda bir noktada ya da başka düşündüm düşündüm ... Teşekkürler –

İlgili konular