FrameworkElement.MaxHeight プロパティ

定義

FrameworkElement の最大高さ制約を取得または設定します。

public:
 property double MaxHeight { double get(); void set(double value); };
double MaxHeight();

void MaxHeight(double value);
public double MaxHeight { get; set; }
var double = frameworkElement.maxHeight;
frameworkElement.maxHeight = double;
Public Property MaxHeight As Double
<frameworkElement MaxHeight="double"/>
 

プロパティ値

Double

double

オブジェクトの最大高さ (ピクセル単位)。 既定値は PositiveInfinity です。 この値には、0 以上の任意の値を指定できます。 PositiveInfinity も有効です。

この XAML の例では、 ViewBox に MaxHeight を指定する手法を示します。 ViewBox は、1 つの子にレイアウト情報を適用し、次の親要素 (この場合は StackPanel) のレイアウト領域を分割できるデコレーターです。

<Grid Height="600" Width="600">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    
    <StackPanel Grid.Row="0" Grid.Column="0" Margin="5,5,5,5" Orientation="Vertical">
        <TextBlock Text="Stretch" FontWeight="Bold" FontSize="12" />
        <Button Name="btn1" Click="stretchNone" Content="None" />
        <Button Name="btn2" Click="stretchFill" Content="Fill" />
        <Button Name="btn3" Click="stretchUni" Content="Uniform" />
        <Button Name="btn4" Click="stretchUniFill" Content="UniformToFill" />
    </StackPanel>

    <StackPanel Grid.Row="0" Grid.Column="1" Margin="5,5,5,5" Orientation="Vertical">
        <TextBlock Text="StretchDirection" FontWeight="Bold" FontSize="12" />
        <Button Name="btn5" Click="sdUpOnly" Content="UpOnly" />
        <Button Name="btn6" Click="sdDownOnly" Content="DownOnly" />
        <Button Name="btn7" Click="sdBoth" Content="Both" />
    </StackPanel>

    <StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" 
                Orientation="Vertical">
        <TextBlock Name="txt1" FontSize="12" FontWeight="Bold" />
        <TextBlock Name="txt2" FontSize="12" FontWeight="Bold" />
    </StackPanel>   

    <StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" 
                Orientation="Horizontal">
        <Viewbox MaxWidth="100" MaxHeight="100" Name="vb1">
            <Image Source="flower.jpg"/>
        </Viewbox>
        <Viewbox MaxWidth="200" MaxHeight="200" Name="vb2">
            <Image Source="flower.jpg"/>
        </Viewbox>
        
        <Viewbox MaxWidth="300" MaxHeight="300" Name="vb3">
            <Image Source="flower.jpg"/>
        </Viewbox>
    </StackPanel>

</Grid>

注釈

MaxHeight は、高さ情報を指定する FrameworkElement の 3 つの書き込み可能なプロパティのうちの 1 つです。 他の 2 つは HeightMinHeight です。 これらの値の間に競合がある場合、実際の高さの決定の適用順序は、最初の MinHeight を受け入れ、次に MaxHeight を受け入れ、最後に境界内にある場合は Height を受け入れなければならないということです。 これらのプロパティはすべて、オブジェクト ツリー内の要素の親のレイアウト動作に関する推奨事項です。 レイアウトの実行後のオブジェクトの高さは 、ActualHeight プロパティの値として使用できます。

要素の最後の ActualHeight が MaxHeight を超える可能性があります。 たとえば、 UseLayoutRoundingtrue に設定されていて、解像度スケールが 100% を超えるディスプレイでアプリが実行されている場合、 ActualHeight を切り上げて、スケーリング時に UI がぼやけないようにすることができます。

適用対象

こちらもご覧ください