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

関連記事

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

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

記事を読む

no image

UWPとAzure Web AppsでOData

超メモ。走り書き。 Azure上にSQLデータベースコードファーストなAPIをODataで作成する。

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

no image

Azure へ WordPress 環境を作成

よくあるやつだけど。 社内LT用

記事を読む

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

【Swift】SecItemCopyMatchingで複数件を処理

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

記事を読む

画面設計デザイン時の無料画面イメージ作成ツール

画面デザイン全般に使っているツールを紹介。 Webアプリ作成時のワイヤーフレームや、 ス

記事を読む

no image

Windows10 IoT CoreでWindowsアップデートの自動実行を停止する

Manage IoT Core device updates このリンクにアップデートコントロール

記事を読む

拡張温度に対応した Windows 10 IoT Core ボード

Windows 10 IoT Core 対応ボード その2 こっちは拡張温度対応している。 Ban

記事を読む

no image

【VB.NET】DataGridViewで行の最大高を設定

DataGridViewにおける行の最大高さを設定するメモ 最大高さに満たない場合は内容を全て表示

記事を読む

Message

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

PAGE TOP ↑