我有一个用户控件(见下图),我正在将文本绑定到一个数据源,并实例化一堆用户控件。
我希望文本的大小尽可能大,以便仍然适合控件的边界。在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>
为了让文本块正确居中,我在这里使用了一个网格。
答案就像Rich描述的那样使用。
这是获胜的配置(对我来说):
<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>
https://stackoverflow.com/questions/734809
复制相似问题