資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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

Double 值的字串表示等於或大於 0.0。 這會解譯為與裝置無關的單位 (1/96 英吋) 度量。 字串不需明確的包含小數點。 例如,1 是可接受的值。

[屬性值] 區段中提及的相同 Double 範圍限制在此適用。

qualifiedDouble

如上所述,double 值之後會跟著下列其中一個宣告字串:pxincmpt

px (預設值) 是與裝置無關的單位 (每單位 1/96 英吋)

in 是英吋,1in==96px

cm 是公分,1cm==(96/2.54) px

pt 是點,1pt==(96/72) px

屬性值

類型:System.Double
項目的最小寬度,以與裝置無關的單位 (每單位 1/96 英吋) 為單位。 預設值為 0.0。 這個值可以是等於或大於 0.0 的任何值。 不過,PositiveInfinityDouble.NaN 都是無效值。

識別項欄位

MinWidthProperty

中繼資料屬性設為 true

AffectsMeasure

這是 FrameworkElement 的三個屬性中的其中之一,這三個屬性會指定寬度資訊。其他兩種屬性為 WidthMaxWidth。如果這些值彼此衝突,實際寬度判斷應用的順序如下:您必須先接受 MinWidth,再接受 MaxWidth,最後才是 Width (如果每一個都在界限內)。

Double 值的限制是由 ValidateValueCallback 機制強制規定。 如果您嘗試設定無效的值,便會擲回執行階段例外狀況。

本範例會以視覺化方式顯示 Windows Presentation Foundation (WPF) 四個與寬度相關的屬性在呈現行為方面的差異。

FrameworkElement 類別會公開四個屬性,描述項目的寬度特性。 這四個屬性可能會衝突,因此若發生衝突,優先採用的值會決定如下:MinWidth 值優先於 MaxWidth 值,而後者又優先於 Width 值。 第四個屬性 ActualWidth 屬於唯讀屬性,會回報隨配置處理序互動所決定的實際寬度。

下列 可延伸應用程式標記語言 (XAML) 範例會將 Rectangle 項目 (rect1) 繪製為 Canvas 的子項。 您可以使用一系列的 ListBox 項目 (表示 MinWidthMaxWidthWidth 的屬性值),變更 Rectangle 的寬度屬性。 利用這種方式,每個屬性的優先順序就能以視覺化方式顯示。


<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;
}


如需完整範例,請參閱寬度屬性比較範例 (英文)。

.NET Framework

支援版本:4.5、4、3.5、3.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

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 系統需求.

社群新增項目

顯示:
© 2014 Microsoft