要点
最小幅:MinWidth=””
最小高さ:MinHeight=””
最大幅:MaxWidth=””
最大高さ:MaxHeight=””
コード
XAML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<!--最小幅と最小高さを指定--> <!--MinWidth="300" MinHeight="300"--> <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" MinWidth="300" MinHeight="300" > <Grid> <Grid.RowDefinitions> <RowDefinition Height="27"/> <RowDefinition/> </Grid.RowDefinitions> <Grid Grid.Row="1" > <Grid.ColumnDefinitions> <!--(水色領域)の最小幅を指定 MinWidth="100" --> <ColumnDefinition Width="515*" MinWidth="100"/> <ColumnDefinition Width="10"/> <ColumnDefinition Width="176*"/> </Grid.ColumnDefinitions> <Grid Grid.Column="2" Background="Orange"/> <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="100" Background="Black"/> <Grid> <Grid.RowDefinitions> <!--(水色領域)の最小高さを指定 MinHeight="100" --> <RowDefinition Height="233*" MinHeight="100"/> <RowDefinition Height="10"/> <RowDefinition Height="256*"/> </Grid.RowDefinitions> <Grid Grid.Row="0" Background="Aqua"/> <Grid Grid.Row="2" Background="Green"/> <GridSplitter Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="100" Background="Black"/> </Grid> </Grid> </Grid> </Window> |
動作イメージ
動的にMax, Minを設定する方法。
WPF 可変サイズWindowのサイズ変更制限 | 進捗ダメですさんで紹介されていた方法。
(Windowのつまみで大きくすると、その時のサイズで幅高さが再設定される。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" MaxWidth="{Binding RelativeSource={RelativeSource Self}, Path=Width}" MinWidth="{Binding RelativeSource={RelativeSource Self}, Path=Width}" MaxHeight="{Binding RelativeSource={RelativeSource Self}, Path=Height}" MinHeight="{Binding RelativeSource={RelativeSource Self}, Path=Height}" > ~ 略 ~ </Window> |
参考
[1] WPF 可変サイズWindowのサイズ変更制限 | 進捗ダメです
301 Moved Permanently
コメント