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

関連記事

【ストアアプリ】画面遷移の基本①

こんにちは。 Windowsストアアプリをぼちぼち触り始めています。 WindowsRuntim

記事を読む

no image

This project references NuGet package(s) that are missing on this computer.

.nugetフォルダが設定されているソリューションから一部プロジェクトのみを抜き出すと発生する。 N

記事を読む

【iPhoneアプリ】多言語対応させる2

今回はコード内の文字列を多言語化する ファイルを追加する。  

記事を読む

no image

Azure へ WordPress 環境を作成

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

記事を読む

no image

macOSのVSTSビルドエージェント構築過程で、type initializeで例外が発生し接続に失敗する問題の対応

macOS Sierra (10.12.4) Deploy an agent on OSX Xa

記事を読む

no image

属性を使って、列挙型の列挙子を並び替え、フィルタリングする

メモだよ

記事を読む

【.NET Framework 4.6.1】MultiLineなTextBoxでCtrl+Aが使えない問題が解決(今更)

WinForms.NETなアプリケーションの標準TextBoxで、Multiline=Trueに設定

記事を読む

Flowで毎月の定期タスク設定

Flow を使い始めてみた。 Requrrenceで時間をトリガーにすることが出来るがSecond

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

Message

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

PAGE TOP ↑