FrameworkElement.Width Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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.