このドキュメントはアーカイブされており、メンテナンスされていません。

FrameworkElement.MaxHeight プロパティ

更新 : 2007 年 11 月

要素の高さの上限を取得または設定します。これは、依存関係プロパティです。

名前空間 :  System.Windows
アセンブリ :  PresentationFramework (PresentationFramework.dll 内)
XAML の XMLNS : http://schemas.microsoft.com/winfx/xaml/presentation

[TypeConverterAttribute(typeof(LengthConverter))]
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double MaxHeight { get; set; }
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public double get_MaxHeight()
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public  void set_MaxHeight(double value)

public function get MaxHeight () : double
public function set MaxHeight (value : double)
<object MaxHeight="double"/>
- or –
<object MaxHeight ="qualifiedDouble"/>
double Double 
0.0 以上の Double 型の値の文字列表現。これは、デバイスに依存しない単位 (1/96 インチ) での計測として解釈されます。文字列には、小数点を明示的に含める必要はありません。たとえば、1 は値として受け入れられます。
                
                    ここでは、「プロパティ値」セクションでの説明と同じ Double 範囲制限が適用されます。ただし、値を PositiveInfinity に明示的に設定することが必要な場合には、x:Static のマークアップ拡張機能を使用する必要があります。
                qualifiedDouble
                    単位宣言文字列 px、in、cm、pt のいずれかが後に続く、上記の double 型の値。
                 px (既定値) はデバイスに依存しない単位 (1 単位は 1/96 インチ)
                 in はインチです (1in==96px)。
                 cm はセンチメートルです (1 cm==(96/2.54) px)。
                 pt はポイントです (1pt==(96/72) px)。
                

プロパティ値

型 : System.Double

要素の最大の高さ (デバイスに依存しない単位 (1 単位は 1/96 インチ))。既定値は、PositiveInfinity です。この値は、0.0 以上の任意の値に指定できます。PositiveInfinity も有効です。

識別子フィールド

MaxHeightProperty

true に設定されたメタデータのプロパティ

AffectsMeasure

このプロパティは、高さ情報を指定する FrameworkElement の 3 つのプロパティのうちの 1 つです。他の 2 つは、MinHeightHeight です。これらの値の間に競合が発生した場合は、まず MinHeight、次に MaxHeight を適用し、この 2 つが範囲内にあるときは、最後に Height を適用して実際の高さを決定します。

Double 型の値に対する値の制約は、ValidateValueCallback 機構によって適用されます。無効な値を設定しようとすると、実行時例外がスローされます。

この例では、Windows Presentation Foundation (WPF) の高さに関連する 4 つのプロパティについて、レンダリング動作の違いを視覚的に示します。

FrameworkElement クラスは、要素の高さの特性を記述する 4 つのプロパティを公開します。これらの 4 つのプロパティは競合する可能性がありますが、その場合は、MinHeight 値、MaxHeight 値、Height 値の順序で優先して使用されます。4 つ目のプロパティ ActualHeight は読み取り専用です。

次の Extensible Application Markup Language (XAML) の例では、Rectangle 要素 (rect1) を Canvas の子として描画します。Rectangle の高さのプロパティは、MinHeightMaxHeight、および Height の各プロパティ値を表す一連の ListBox を使用して変更できます。この方法では、各プロパティの優先順位が表示されます。

<Canvas Height="200" MinWidth="200" Background="#b0c4de" VerticalAlignment="Top"  HorizontalAlignment="Center" Name="myCanvas" Margin="0,0,0,50">
    <Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50"  Name="rect1" Fill="#4682b4" Height="100" Width="100"/>
</Canvas>


...

    <TextBlock Grid.Row="1" Grid.Column="0" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle Height:</TextBlock>
    <ListBox Grid.Column="1" Grid.Row="1" Margin="10,0,0,0" Height="50" Width="50" SelectionChanged="changeHeight">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
    </ListBox>

	<TextBlock Grid.Row="1" Grid.Column="2" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MinHeight:</TextBlock>
    <ListBox Grid.Column="3" Grid.Row="1" Margin="10,0,0,0" Height="50" Width="50" SelectionChanged="changeMinHeight">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
  </ListBox>      

    <TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxHeight:</TextBlock>
    <ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Height="50" Width="50" SelectionChanged="changeMaxHeight">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem> 
    </ListBox>


次の分離コードの例では、SelectionChanged イベントによって発生したイベントを処理します。各カスタム メソッドは ListBox から入力を受け取り、値を Double として解析し、指定された高さに関連するプロパティに値を適用します。高さの値は文字列にも変換され、txt1 という名前の TextBlock 要素に書き込まれます。

private void changeHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Height = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMinHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMaxHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}


サンプル全体については、「Height プロパティのサンプル」を参照してください。

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0
表示: