2

私の wpf アプリケーションで fontstretch を利用する方法を学びたいです。

この単純なユーザーコントロールを作成しました。これは、テキストブロックを持つ角が丸い境界線です。テキストブロックのテキストを引き伸ばして境界線を埋めたいと思っています。これを行うためにビューボックス コントロールを使用することは避けたいと思います。

これは私のユーザーコントロールのxamlです

 <UserControl x:Class="DisplayObject"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="400" Background="Transparent">
    <UserControl.Resources>
        <LinearGradientBrush x:Key="BackGroundBrush" StartPoint="0,0" EndPoint="1,1">
            <GradientStop Color="AntiqueWhite" Offset="0"/>
            <GradientStop Color="White" Offset="0.45" />
            <GradientStop Color="Silver" Offset="1" />
        </LinearGradientBrush>
    </UserControl.Resources>
    <Border x:Name="LayoutRoot" CornerRadius="12" Background="{StaticResource BackGroundBrush}" BorderBrush="Black" BorderThickness="2">
        <TextBlock TextAlignment="Center" Text="{Binding Path=DisplayText}" 
                   Background="Transparent" HorizontalAlignment="Center" VerticalAlignment="Center" 
                   TextWrapping="Wrap" FontSize="12" FontFamily="Arial" FontStretch="UltraExpanded"/>
    </Border>
</UserControl>

私がオンラインで読んで集めたものによると、Arial フォントはオープンタイプなので、ストレッチをサポートしています。「ストレッチ」の水平/垂直配置値を使用してみましたが、これは役に立ちませんでした。何が間違っていたのかはわかりませんが、このサイトの誰かが、私にとって伸びない理由とそれを修正する方法を説明できるかもしれないと考えました.

私の投稿を読んでくれてありがとう。

4

1 に答える 1

4

FontStretchArial フォントは の値をサポートしていないようですUltraExpandedUltraCondensed代わりにの値を試して、動作することを確認します。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <TextBlock Grid.Row="0" Text="{Binding DisplayText}" FontSize="30" 
        FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBlock Grid.Row="1" Text="{Binding DisplayText}" FontSize="30" 
        FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center" 
        FontStretch="UltraCondensed" />
</Grid>

WPF で FontStretch が機能しない理由をご覧ください。このほとんど使用されていないプロパティを使用する代わりの方法を見つけるために投稿してください。

于 2013-08-07T13:10:01.320 に答える