FrameworkElement.MaxWidth 属性

定义

获取或设置 FrameworkElement 的最大宽度约束。

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

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

属性值

Double

double

对象的最大宽度(以像素为单位)。 默认值为 PositiveInfinity。 此值可以是等于或大于 0 的任何值。 PositiveInfinity 也有效。

示例

此 XAML 示例演示了一种为 ViewBox 指定 MaxWidth 的技术。 ViewBox 是一个修饰器,它可以将布局信息应用于单个子元素,并划分下一个父元素的布局区域 (在本例中 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>

注解

MaxWidthFrameworkElement 上指定宽度信息的三个可写属性之一。 另外两个是 MinWidthWidth。 如果这些值之间存在冲突,则实际宽度确定的应用顺序是,必须遵循第一个 MinWidth ,然后 MaxWidth,最后,如果它处于边界内,则为 Width。 所有这些属性都是针对对象树中元素的父元素的布局行为的建议。 布局运行后的对象的宽度可用作 ActualWidth 属性值。

元素的最终 ActualWidth 可能超过 MaxWidth。 例如,如果将 UseLayoutRounding 设置为 true ,并且你的应用在 分辨率比例 大于 100% 的显示器上运行,则可以将 ActualWidth 向上舍入,以帮助确保缩放时 UI 不会看起来模糊。

适用于

另请参阅