【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>

関連記事

no image

‘System.Windows.Navigation.BaseUriHelper’ のタイプ初期化子が例外をスローしました。

作成した.NETアプリケーション(WPF)が起動しない。 今回は構成ファイル(app.config)

記事を読む

no image

【Cocos2d-x】Cocos2d-xセットアップ

メモ。Xcodeはインストール済、OSはMac10.9.5 必要なものをダウンロード&解凍

記事を読む

[OxyPlot]errro CS0117: ‘Resource.Attribute’ に ‘mediaRouteSettingsDrawable’ の定義がありません

Xamarin.Formsでグラフ描画を行う方法のひとつにOxyPlotというライブラリがある。

記事を読む

App Service Linux (Docker) 環境で、コンテナ内の Nginx のログをAzureポータルから確認

何も設定しない場合はSSHでアクセスしてログ参照する 通常はコンテナ内の /var/log/ngi

記事を読む

PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting

Visual Studio Code へ PHP IntelliSense 拡張をインストールし

記事を読む

Docker for Windows で ドライブ共有が出来ない

Shared Drives タブで Cドライブにチェックをして Apply を押す。 認証ダイ

記事を読む

UWPでユニットテスト

ユニバーサルWindowsのアプリケーションプロジェクトおよびクラスライブラリプロジェクトのユニット

記事を読む

【iPhoneアプリ】リリース手順〜審査申し込み〜

初めてiPhoneアプリを作成したがリリース手順が 手元の参考書と全然違って困ったのでメモ。

記事を読む

ストアアプリ、UWPアプリをデスクトップアプリケーションから起動する

SendKeyなどを使って無理やり検索ウインドウへ指定した、起動方法しか知らなかったのでメモ(とんで

記事を読む

【.NET】16進数文字列から色を設定する

文字列→Colorクラスへの変換メモ プログラム上でFromArgbメソッドに16

記事を読む

Message

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

PAGE TOP ↑