この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

FrameworkElement.MinWidth プロパティ

要素の幅の最小値を取得または設定します。

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

[TypeConverterAttribute(typeof(LengthConverter))]
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double MinWidth { get; set; }
<object MinWidth="double"/>
- or -
<object MinWidth="qualifiedDouble"/>

XAML の値

double

Double

0.0 以上の Double 型の値の文字列表現。 これは、デバイスに依存しない単位 (1/96 インチ) での計測として解釈されます。 文字列には、小数点を明示的に含める必要はありません。 たとえば、1 は値として受け入れられます。

「プロパティ値」セクションでの説明と同じ Double 範囲制限が適用されます。

qualifiedDouble

上記の double 型の値に、単位宣言文字列 pxincmpt のいずれかを後に続けたもの。

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 以上の任意の値に設定できます。 ただし、PositiveInfinityDouble.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 として解析し、指定された幅に関連するプロパティに値を適用します。 幅の値は文字列にも変換され、各種の TextBlock 要素に書き込まれます (それらの要素の定義は、上の XAML の例には示されていません)。


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 のプロパティの比較のサンプルを参照してください。

.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

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

コミュニティの追加

表示:
© 2015 Microsoft