0

ユーザーが入力したデータに基づいて、印刷されるもののプレビューを生成するポップアップを作成しようとしています。

オプションの1つは、テキストを通常の幅の2倍に拡大することです。そのため、テキストブロックのScaleTransformオプションを使用しました。これは機能しますが、水平方向の配置を左に設定すると、テキストの半分が切り取られた状態で引き伸ばされたテキストが表示されるため、配置に問題があります。中央揃えはほとんど問題ありませんが、テキストは完全に中央に配置されていません。

配置を維持しながら、このテキストを拡大する方法はありますか?

<ListBox.ItemTemplate>
  <DataTemplate>
      <TextBlock Text="{Binding CouponLine}" 
                 FontWeight="{Binding FontWeight}"
                 HorizontalAlignment="{Binding Alignment}"
                 FontSize="{Binding FontSize}"
                 RenderTransformOrigin="0.5,0.5">
             <TextBlock.RenderTransform>
                     <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="1" CenterX=".5"/>
              </TextBlock.RenderTransform>
       </TextBlock>
   </DataTemplate>
</ListBox.ItemTemplate>
4

2 に答える 2

0

RenderTransform は、それを含む要素の境界を無視するように見えますが、LayoutTransform を使用すると、変換されたテキストが親要素の境界内に保持されます。

<TextBlock.LayoutTransform>
   <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="1" CenterX=".5"/>
</TextBlock.LayoutTransform>
于 2013-03-15T11:57:40.623 に答える
0

Horizo​​ntalAlignment の代わりに TextAlignment="Center" を試してください

于 2013-03-15T10:58:59.377 に答える