我有一個用戶控件(下面),我將文本綁定到數據源並實例化了一堆usercontrols。您如何讓Silverlight調整文本內容的大小以適應?
我希望文本的大小盡可能大,仍然適合控件的邊界。在Windows編程中,我可以測量減小字體大小的文本大小,直到它符合目標尺寸。
有什麼辦法可以在Silverlight中做到這一點?
我知道我大概可以做一個類似的方式,但是否有這樣做的任何「更好」的方式?
<Grid x:Name="gdBubble" Width="180" Height="95">
<Ellipse x:Name="elBubble" Fill="#FFFFA300" />
<TextBlock x:Name="txtContent" Text="{ Binding ClientName }" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
[我在這裏正確使用網格爲了使文本塊到中心。]
答案是爲豐富的描述使用視框。
這是獲勝的配置(對我來說):
<Grid x:Name="gdBubble" Width="180" Height="95">
<Ellipse x:Name="elBubble" Fill="#FFFFA300" />
<controls:Viewbox Margin="10,10,10,10" VerticalAlignment="Stretch" Height="Auto">
<TextBlock x:Name="txtContent" FontSize="18" Text="{ Binding ClientName }" HorizontalAlignment="Center" VerticalAlignment="Center" />
</controls:Viewbox>
</Grid>
我真的很驚訝沒有發現其他人有這個問題。當然,任何綁定到包含文本的動態數據源的數據都有這個問題?文本塊是否僅用於自定義按鈕? – 2009-04-09 16:24:09