Compartilhar via


FrameworkElement.Width Propriedade

Definição

Obtém ou define a largura de um FrameworkElement.

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

void Width(double value);
public double Width { get; set; }
var double = frameworkElement.width;
frameworkElement.width = double;
Public Property Width As Double
<frameworkElement Width="double"/>
-or-
<frameworkElement Width="Auto"/>

Valor da propriedade

Double

double

A largura do objeto, em pixels. O padrão é NaN. Com exceção do valor naN especial, esse valor deve ser igual ou maior que 0.

Exemplos

Este exemplo mostra um conjunto de propriedades simples de um elemento de interface do usuário que é criado em tempo de execução e precisa de inicialização de seu conteúdo e propriedades de exibição básicas, como Height e Width e Background. (Background é, na verdade, uma propriedade Control , não definida por FrameworkElement.)

Button button2 = new Button();
button2.Height = 50;
button2.Width = 100;
button2.Background = new SolidColorBrush(Colors.Blue);
button2.Content = "Click Me";
Dim button2 As Button = New Button
button2.Height = 50
button2.Width = 100
button2.Background = New SolidColorBrush(Colors.Blue)
button2.Content = "Click Me"

Comentários

Width é uma das três propriedades graváveis em FrameworkElement que especificam informações de largura. Os outros dois são MinWidth e MaxWidth. 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.

Vários dos tipos derivados de FrameworkElement também são derivados de Shape. Nem todas as classes Shape usam Height ou Width para especificar sua aparência e, em vez disso, usam propriedades específicas que podem definir um conjunto de pontos. Nesse caso, uma Altura ou Largura é calculada, mas normalmente não é definida diretamente.

Classes personalizadas podem ter considerações semelhantes em que a classe pode ter propriedades mais significativas para especificar dimensões do que Height ou Width. Altura ou Largura ainda estão disponíveis como membros e são configuráveis.

O objeto em que as propriedades Height ou Width são definidas é quase sempre um objeto filho na coleção filho de outro pai e definir Height ou Width como um valor é apenas um valor sugerido para o processo de layout. O sistema de layout, bem como a lógica de layout específica da classe pai, usarão o valor como uma entrada não vinculante durante o processo de layout e talvez precisem recortar, redimensionar o objeto, redimensionar o contêiner ou alguma combinação desses comportamentos que abrangem vários objetos participantes no layout. Margem e preenchimento também influenciam o tamanho disponível. Para obter mais informações, consulte Alinhamento, margem e preenchimento.

O valor retornado dessa propriedade é sempre o mesmo que qualquer valor que foi definido para ela. Por outro lado, o valor da propriedade ActualWidth pode variar. A variação pode ocorrer estaticamente, porque o layout rejeitou o tamanho sugerido ou momentaneamente. O próprio sistema de layout funciona de forma assíncrona em relação ao conjunto de largura do sistema de propriedades, e o sistema de layout pode ainda não ter processado essa alteração de propriedade de dimensionamento.

Valores negativos para Width não são permitidos.

Além disso, não defina Width como um valor significativamente maior que o tamanho máximo de qualquer exibição visual possível.

"Auto" e NaN

O valor padrão de Height e Width é "Auto", representado por NaN. Na marcação XAML, você pode usar a cadeia de caracteres "Auto" para definir o valor como NaN.

Observação

Em C#, você pode obter NaN de Double.NaN.

No C++, você pode obter NaN usando a NAN macro ou std::numeric_limits<double>::quiet_NaN().

Não use o == operador para testar o NaN.

Em C#, use Double.IsNaN() para testar o NaN.

No C++, use isnan() para testar o NaN.

O sistema de layout interpreta o valor "Auto" para geralmente significar que o objeto deve ser dimensionado para o tamanho disponível no layout, em vez de para um valor de pixel específico.

Aplica-se a

Confira também