Partilhar 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. Exceto pelo 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, Widthe 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";

Comentários

Width é uma das três propriedades graváveis no FrameworkElement que especificam informações de largura. Os outros dois são MinWidth e MaxWidth. Se houver um conflito entre esses valores, a ordem de aplicação para a determinação de largura real é que primeiro MinWidth deve ser respeitada, depois MaxWidthe, por fim, se estiver dentro dos limites, Width.

Vários dos tipos derivados de FrameworkElement também são derivados de Shape. Nem todas as Shape classes 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, um Height ou Width é calculado, mas normalmente não é definido diretamente.

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

O objeto em que a Altura ou Width as propriedades são definidas é quase sempre um objeto filho na coleção filho de outro pai, e definir Height ou Width para 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 cortar, redimensionar o objeto, redimensionar o contêiner ou alguma combinação desses comportamentos que abrange vários objetos participantes no layout. A margem e o 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 , e o sistema de Widthlayout pode não ter processado essa alteração de propriedade de dimensionamento ainda.

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 do Double.NaN.

No C++, você pode obter o 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.

Aplica-se a

Confira também