【XAML】フォントサイズを自動縮小して全体を表示

公開日: : 最終更新日:2015/10/20 Blog, Microsoft ,

【WPF】全体を表示できるようにフォントサイズを自動設定

Viewboxを親にするだけ。
拡大・縮小方法はStretch, StretchDirectionで設定

<Window x:Class="FontTest"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="FontTest" Height="370" Width="300">
    <Grid>
        <Grid.Resources>
            <Style TargetType="{x:Type Viewbox}">
                <!-- 縦横維持してストレッチ(Uniform:既定)-->
                <Setter Property="Stretch" Value="Uniform" />
                <!-- 拡大はしない。縮小だけ。 -->
                <Setter Property="StretchDirection" Value="DownOnly" />
                <Setter Property="HorizontalAlignment" Value="Left" />
                <Setter Property="VerticalAlignment" Value="Top" />
            </Style>
        </Grid.Resources>
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="100"/>
            <RowDefinition Height="30"/>
        </Grid.RowDefinitions>
        <Border Margin="5" Grid.Row="0" BorderBrush="Gray" BorderThickness="1">
            <Viewbox HorizontalAlignment="Left">
                <TextBlock Width="Auto" x:Name="txtBlock" Text="あいうえお&#xa;かきくけこ&#xa;さしすせそ&#xa;たちつてと&#xa;なにぬねの&#xa;はひふへほ&#xa;まみむめも" />
            </Viewbox>
        </Border>
        <Border Margin="5" Grid.Row="1" BorderBrush="Gray" BorderThickness="1">
            <Viewbox HorizontalAlignment="Left">
                <TextBlock Width="Auto" x:Name="txtBlockMin" Text="あいうえお&#xa;かきくけこ" />
            </Viewbox>
        </Border>
        <Button x:Name="btnCheck" Grid.Row="2" Content="チェック" />
    </Grid>
</Window>

関連記事

【Cocos2d-x】iPhone実機でプロジェクトを動かすまで

Macを購入してCocos2d-xデビューしたが、 iPhone実機で動かすまでをメモ

記事を読む

Visual Studio Team Services ダッシュボードを自動更新する

Visual Studio Team Services のダッシュボードでプロジェクトや運用状況のサ

記事を読む

no image

UWP+IoT Coreのシリアル通信メモ

Windows10 IoT + Raspberry Pi を始めようとしているのだが、どうもセンサー

記事を読む

Visual Studio 2015 Update1 の Xamarin.Forms でインテリセンスを使いたい

Xamarinを触り始めました。 チュートリアルということで、Xamarin.Forms Quick

記事を読む

Xamarin Studio から Visual Studio for Mac へ変更してから、”The “XamlCTask” task failed unexpectedly.” が発生。

Visual Studio for Mac がGAしたので、インストールしてみた。 それまで開発して

記事を読む

Visual Studio から Android SDK Managerが起動できない

Android SDKやエミュレーターイメージのアップデートを行いたい場合にAndroid SDK

記事を読む

no image

【WPF/XAML】Buttonのテキスト(Content)を自動改行/折り返しさせる

今更WPFを触りはじめました。 それまではほぼ.NETは2.0止まりというオワコン開発者です。

記事を読む

no image

Microsoft Flow 入門

社内LT用

記事を読む

no image

【Swift】SecItemCopyMatchingで複数件を処理

SecItemCopyMatchingを使ってKeyChainからデータを取得する時に 全件取得し

記事を読む

【iPhoneアプリ】開発者登録手順(iOS Developer Program) その1

iPhoneアプリの作成からリリースまでの一通りの流れを体験したかったため、 簡単なiPhon

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑