Compartilhar via


FrameworkElement.MaxWidth Propriedade

Definição

Obtém ou define a restrição de largura máxima de um 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"/>
 

Valor da propriedade

Double

double

A largura máxima do objeto, em pixels. O padrão é PositiveInfinity. Esse valor pode ser qualquer valor igual ou maior que 0. PositiveInfinity também é válido.

Exemplos

Este exemplo de XAML mostra uma técnica de especificar um MaxWidth para um ViewBox. ViewBox é um decorador que pode aplicar informações de layout a um único filho e dividir áreas de layout para o próximo elemento pai (nesse caso, um 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>

Comentários

MaxWidth é uma das três propriedades graváveis no FrameworkElement que especificam informações de largura. Os outros dois são MinWidth e Width. Se houver um conflito entre esses valores, a ordem do aplicativo para a determinação de largura real é que primeiro MinWidth deve ser respeitado, depois MaxWidth e, finalmente, se estiver dentro dos limites, Width. Todas essas propriedades são recomendações para o comportamento de layout do pai do elemento na árvore de objetos. A largura do objeto após a execução do layout está disponível como o valor da propriedade ActualWidth .

O ActualWidth final de um elemento pode exceder MaxWidth. Por exemplo, se UseLayoutRounding estiver definido como true e seu aplicativo estiver em execução em uma tela com uma Escala de Resolução maior que 100%, o ActualWidth poderá ser arredondado para cima para ajudar a garantir que sua interface do usuário não pareça desfocada quando dimensionada.

Aplica-se a

Confira também