Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Proprietà FrameworkElement.Width

Ottiene o imposta la larghezza dell' elemento.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per 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"/>

Valor XAML

doppio

Double

Rappresentazione di stringa di un valore di Double uguale o maggiore di 0,0. Vedere le note per informazioni limite superiore. Questo valore viene interpretato come misura di unità indipendente dal dispositivo (1/96 di pollice) . Le stringhe non devono esplicitamente includere i separatori decimali. Ad esempio un valore di 1 è accettabile.

qualifiedDouble

Un valore double come descritto in precedenza, seguito da uno di dichiarazione riportata di unità ricevute: px, in, cm, pt.

px (impostazione predefinita) è unità indipendenti del dispositivo (1/96 di pollice per unità)

in è pollici; 1in==96px

cm è cm; px 1cm== (96/2.54)

pt è punti; (96/72) di px 1pt==

Auto

Abilita il comportamento ridimensionamento automatico. Vedere le note.

Valore proprietà

Tipo: System.Double
La larghezza dell' elemento, in unità indipendenti del dispositivo (1/96 di pollice per unità). il valore predefinito è Double.NaN. Questo valore deve essere uguale o maggiore di 0,0. Vedere le note per informazioni limite superiore.

Campo dell' identificatore

WidthProperty

Proprietà dei metadati impostate su true

AffectsMeasure

Questa è una delle tre proprietà su FrameworkElement che specificano le informazioni della larghezza. Gli altri due oggetti sono MinWidth e MaxWidth. Se c " è un conflitto tra questi valori, l'ordine dell' applicazione per la determinazione della larghezza è il primo MinWidth deve essere rispettatoe, quindi MaxWidthe infine se ognuno di questi è all' interno dei limiti, Width.

Il valore restituito di questa proprietà è sempre uguale a qualsiasi valore che è stato impostato su. A il contrario, il valore di ActualWidth può variare. Il layout può rifiutare le dimensioni suggerita per qualche motivo. Inoltre, il sistema di layout stesso funziona in modo asincrono al sistema di proprietà impostata di Width e non è possibile elaborare che particolare modifica della proprietà di ridimensionamento di nuovo.

Oltre ai valori accettabili di Double , questa proprietà può essere Double.NaN. Questo è il modo in cui si specifica il ridimensionamento automatico. In XAML il valore viene impostato sulla stringa “auto„ (senza distinzione tra maiuscole e minuscole) per attivare il ridimensionamento automatico. Il ridimensionamento automatico implica che l'elemento riempire la larghezza disponibile su. Si noti tuttavia che i controlli specifici spesso forniscono i valori predefiniti negli stili predefiniti che disabiliteranno il ridimensionamento automatico a meno che in particolare venga nuovamente abilitato.

Oltre al controllo di convalida, esiste un valore superiore non deterministico limita per Width applicata dal sistema di layout (si tratta di un numero molto grande, maggiori di Single.MaxValue ma più piccoli di Double.MaxValue). Se si supera questa limitazione, l'elemento non verrà eseguito il rendering e non viene generata alcuna eccezione. Non impostare Width a un valore che può essere significativamente superiore alla dimensione massima di una visualizzazione possibile, oppure può superare questo limite superiore non deterministico.

In questo esempio vengono illustrate le differenze nel comportamento di rendering tra le quattro proprietà correlate alla larghezza disponibili in Windows Presentation Foundation (WPF).

La classe FrameworkElement espone quattro proprietà che descrivono le caratteristiche di larghezza di un elemento. Queste quattro proprietà possono entrare in conflitto e, in tal caso, il valore che ha la precedenza è determinato come segue: il valore MinWidth ha la precedenza sul valore MaxWidth, che a sua volta ha la precedenza sul valore Width. Una quarta proprietà, ActualWidth, è di sola lettura e specifica la larghezza effettiva determinata dalle interazioni con il processo di layout.

Negli esempi Extensible Application Markup Language (XAML) seguenti viene tracciato un elemento Rectangle (rect1) come elemento figlio di Canvas. È possibile modificare le proprietà di larghezza di un oggetto Rectangle utilizzando una serie di elementi ListBox che rappresentano i valori delle proprietà MinWidth, MaxWidth e Width. In questo modo, la precedenza di ogni proprietà viene visualizzata graficamente.


<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>


Negli esempi code-behind seguenti sono gestiti gli eventi generati dall'evento SelectionChanged. Ogni metodo personalizzato accetta l'input dall'oggetto ListBox, analizza il valore come Double e lo applica alla proprietà correlata alla larghezza specificata. I valori di larghezza vengono inoltre convertiti in una stringa e scritti nei vari elementi TextBlock. La definizione di tali elementi non viene illustrata nel codice XAML selezionato.


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;
}


Per l'esempio completo, vedere Esempio di confronto di proprietà Width (la pagina potrebbe essere in inglese).

.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.