Поделиться через


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 показан способ указания MaxWidth для элемента ViewBox. 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>

Комментарии

MaxWidth является одним из трех доступных для записи свойств в FrameworkElement , которые задают сведения о ширине. Два других : MinWidth и Width. В случае конфликта между этими значениями порядок применения фактического определения ширины заключается в том, что сначала необходимо соблюдать MinWidth , затем MaxWidth и, наконец, если он находится в пределах границ, Width. Все эти свойства являются рекомендациями по поведению макета родительского элемента в дереве объектов. Ширина объекта после выполнения макета доступна в качестве значения свойства ActualWidth .

Итоговое значение ActualWidth элемента может превышать MaxWidth. Например, если параметру UseLayoutRounding присвоено значение true , а приложение работает на дисплее с масштабом разрешения более 100 %, то ActualWidth может быть округлен вверх, чтобы убедиться, что пользовательский интерфейс не будет выглядеть размытым при масштабировании.

Применяется к

См. также раздел