Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Propriedade FrameworkElement.Width

Obtém ou define a largura do elemento.

Namespace:  System.Windows
Assembly:  PresentationFramework (em PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(LengthConverter))]
public double Width { get; set; }
<object Width="double"/>
- or –
<object Width ="qualifiedDouble"/>
- or -
<object Width ="Auto"/>

Valores XAML

duplo

Double

String representação de um Double valor igual ou maior que 0,0. Consulte os comentários para obter informações de limite superior. Esse valor é interpretado como um device-independent unit (1/96th inch) medida. Seqüências de caracteres não precisam incluir explicitamente os pontos decimais. Por exemplo, um valor de 1 é aceitável.

qualifiedDouble

A double valor, como descrito acima, seguido por uma das seguintes seqüências de declaração de unidade: px, in, cm, pt.

px(padrão) édevice-independent units (1/96th inch per unit)

inpolegadas; 1No = = 96px

cmcentímetros; 1cm==(96/2.54) px

ptpontos; 1pt==(96/72) px

Auto

Permite que o comportamento de dimensionamento automático. Consulte Comentários.

Valor de propriedade

Tipo: System.Double
A largura do elemento, em device-independent units (1/96th inch per unit). O valor padrão é Double.NaN. Esse valor deve ser igual ou maior que 0,0. Consulte os comentários para obter informações de limite superior.

Campo identificador

WidthProperty

Propriedades de metadados definidas como true

AffectsMeasure

Essa é uma das três propriedades em FrameworkElement que especificam as informações de largura. As outras duas são MinWidth e MaxWidth. Se houver um conflito entre esses valores, a ordem de aplicativo para determinação da largura real é o primeira MinWidth deve ser aplicada, em seguida, MaxWidthe, finalmente, se cada um deles estiver dentro dos limites, Width.

O valor de retorno dessa propriedade é sempre o mesmo que qualquer valor que foi definido para ele. Por outro lado, o valor da ActualWidth podem variar. O layout pode ter rejeitou o tamanho sugerido por algum motivo. Além disso, o próprio sistema de layout assincronamente funciona em relação ao conjunto de sistema de propriedade de Width e pode não ter processado que determinado dimensionamento alterar propriedade ainda.

Além disso é aceitável para Double valores, esta propriedade também pode ser Double.NaN. Isso é como especificar o comportamento de dimensionamento automático. Na XAML você definir o valor para a seqüência de caracteres "Auto" (com distinção entre maiúsculas e minúsculas) para ativar o comportamento de dimensionamento de auto. Comportamento de dimensionamento de auto implica que o elemento preencherá a largura disponível para ele. No entanto, observe que controles específicos com freqüência fornecem valores padrão em seus estilos padrão que irá desativar o auto dimensionamento comportamento, a menos que ele seja especificamente reativado.

Além da verificação de validação, há um valor superior não determinístico, vinculado a Width que é imposta pelo sistema de layout (Este é um número muito grande, maior do que Single.MaxValue , mas menor do que Double.MaxValue). Se você exceder esse vinculado, o elemento não processará, e nenhuma exceção é lançada. Não defina Width como um valor que seja significativamente maior do que o tamanho máximo de qualquer exibição visual possível, ou você pode exceder esse limite de superior não determinística.

Esse exemplo mostra visualmente as diferenças no comportamento de renderização entre as quatro propriedades relacionadas a largura em Windows Presentation Foundation (WPF).

A classe FrameworkElement expõe quatro propriedades que descrevem as características de largura de um elemento. Essas quatro propriedades podem conflitar, e quando o fazem, o valor que tem precedência é determinado como segue: o valor MinWidth tem precedência sobre o valor MaxWidth, que por sua vez tem precedência sobre o valor Width. Uma propriedade de quarta, ActualWidth, é somente leitura e relata a largura real conforme determinado por interações com o processo de layout.

O exemplo de Extensible Application Markup Language (XAML) a seguir desenha um elemento Rectangle (rect1) como um filho de Canvas. Você pode alterar as propriedades de largura de um Rectangle , usando uma série de ListBox elementos que representam os valores de propriedade de MinWidth, MaxWidth, e Width. Dessa forma, a precedência de cada propriedade é exibida visualmente.


<Canvas Height="200" MinWidth="200" Background="#b0c4de" VerticalAlignment="Top"  HorizontalAlignment="Center" Name="myCanvas">
    <Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50"  Name="rect1" Fill="#4682b4" Width="100" Height="100"/>
</Canvas>


...


    <TextBlock Grid.Row="1" Grid.Column="0" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle Width:</TextBlock>
    <ListBox Grid.Column="1" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
    </ListBox>

	<TextBlock Grid.Row="1" Grid.Column="2" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MinWidth:</TextBlock>
    <ListBox Grid.Column="3" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMinWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
  </ListBox>      

    <TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxWidth:</TextBlock>
    <ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMaxWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>  
    </ListBox>


Os exemplos de code-behind a seguir manipulam os eventos que o evento SelectionChanged dispara. Cada método personalizado recebe entrada do ListBox, processa o valor como um Double e aplica o valor à propriedade específica relacionada à largura. Os valores de largura também são convertidos em uma seqüência de caracteres e gravados em várias TextBlock elementos (definição desses elementos não é mostrada no XAML selecionado).


private void changeWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Width = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMinWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMaxWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}


Para obter o exemplo completo, consulte Exemplo de comparação propriedades largura.

.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.