ユーザーコントロール(下記)があります。テキストをデータソースにバインドし、一連のユーザーコントロールをインスタンス化します。
テキストのサイズは、コントロールの範囲内に収まる最大のサイズにする必要があります。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>