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

FrameworkElement.MinWidth プロパティ

更新 : 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 MinWidth { get; set; }
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public double get_MinWidth()
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public  void set_MinWidth(double value)

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

プロパティ値

型 : System.Double

要素の最小の幅 (デバイスに依存しない単位 (1 単位は 1/96 インチ))。既定値は 0.0 です。この値は、0.0 以上の任意の値に指定できます。ただし、PositiveInfinity および Double.NaN は無効です。

識別子フィールド

MinWidthProperty

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

AffectsMeasure

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

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

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

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

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

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


...

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

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

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


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

private void changeWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Width = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMinWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMaxWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}


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

Windows Vista

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

.NET Framework

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