FrameworkElement.Width Proprietà

Definizione

Ottiene o imposta la larghezza di un 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"/>

Valore della proprietà

Double

double

Larghezza dell'oggetto, in pixel. Il valore predefinito è NaN. Ad eccezione del valore NaN speciale, questo valore deve essere uguale o maggiore di 0.

Esempio

In questo esempio viene illustrato un set di proprietà semplice di un elemento dell'interfaccia utente creato in fase di esecuzione e richiede l'inizializzazione del contenuto e delle proprietà di visualizzazione di base, ad esempio Height e Width e Background. In background è effettivamente una proprietà Control, non definita da 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"

Commenti

Width è una delle tre proprietà scrivibili in FrameworkElement che specificano le informazioni sulla larghezza. Gli altri due sono MinWidth e MaxWidth. Se si verifica un conflitto tra questi valori, l'ordine dell'applicazione per la determinazione effettiva della larghezza è che il primo MinWidth deve essere rispettato, quindi MaxWidth e infine, se si trova all'interno di limiti, Width.

Diversi tipi derivati di FrameworkElement sono derivati anche da Shape. Non tutte le classi Shape usano Height o Width per specificare l'aspetto e invece usano proprietà specifiche che potrebbero definire un set di punti. In questo caso viene calcolato un valore Height o Width, ma non viene in genere impostato direttamente.

Le classi personalizzate potrebbero avere considerazioni simili in cui la classe potrebbe avere proprietà più significative per specificare le dimensioni rispetto a Height o Width. Altezza o Larghezza sono ancora disponibili come membri e sono impostabili.

L'oggetto in cui vengono impostate le proprietà Height o Width è quasi sempre un oggetto figlio nell'insieme figlio di un altro padre e l'impostazione Height o Width su un valore è solo un valore suggerito per il processo di layout. Il sistema di layout e la particolare logica di layout della classe padre useranno il valore come input non di associazione durante il processo di layout e potrebbero dover ritagliare l'oggetto, ridimensionare l'oggetto, ridimensionare il contenitore o una combinazione di questi comportamenti che si estende su più oggetti partecipanti nel layout. Il margine e il riempimento influiscono anche sulle dimensioni disponibili. Per altre info, vedi Allineamento, margine e spaziatura interna.

Il valore restituito di questa proprietà è sempre uguale a qualsiasi valore impostato su di esso. Al contrario, il valore della proprietà ActualWidth può variare. La varianza può verificarsi staticamente, perché il layout ha rifiutato le dimensioni suggerite o momentaneamente. Il sistema di layout stesso funziona in modo asincrono rispetto al set di proprietà del sistema di Larghezza e il sistema di layout potrebbe non aver ancora elaborato la modifica della proprietà di ridimensionamento.

I valori negativi per Width non sono consentiti.

Inoltre, non impostare Width su un valore che è significativamente maggiore della dimensione massima di qualsiasi visualizzazione visiva possibile.

"Auto" e NaN

Il valore predefinito di Height e Width è "Auto", rappresentato da NaN. Nel markup XAML è possibile usare la stringa "Auto" per impostare il valore su NaN.

Nota

In C#è possibile ottenere NaN da Double.NaN.

In C++è possibile ottenere NaN usando la NAN macro o std::numeric_limits<double>::quiet_NaN().

Non usare l'operatore == per testare naN.

In C#usare Double.IsNaN() per testare NaN.

In C++usare isnan() per testare NaN.

Il sistema di layout interpreta il valore "Auto" per in genere significare che l'oggetto deve essere ridimensionato alle dimensioni disponibili nel layout, anziché a un valore di pixel specifico.

Si applica a

Vedi anche