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 oggetto 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
Questo esempio mostra un semplice set di proprietà di un elemento dell'interfaccia utente creato in fase di esecuzione e richiede l'inizializzazione del contenuto e le proprietà di visualizzazione di base, ad esempio Height, Width
e Background.
Background è in realtà 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";
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 di applicazione per la determinazione effettiva della larghezza è che MinWidth
prima deve essere rispettato, quindi MaxWidth
e infine, se è all'interno di limiti, Width
.
Diversi tipi derivati di FrameworkElement sono derivati anche da Shape. Non tutte le Shape
classi usano Height o Width
per specificarne l'aspetto e usano invece proprietà specifiche che potrebbero definire un set di punti. In questo caso un Height
oggetto o Width
viene calcolato, ma in genere non viene impostato direttamente.
Le classi personalizzate possono avere considerazioni simili in cui la classe potrebbe avere proprietà più significative per specificare le dimensioni rispetto a Height o Width
.
Height
o Width
sono entrambi ancora disponibili come membri e sono impostabili.
L'oggetto in cui vengono impostate le proprietà oWidth
Height è quasi sempre un oggetto figlio nella raccolta figlio di un altro padre e l'impostazione Height
o Width
su un valore è solo un valore consigliato per il processo di layout. Il sistema di layout e la logica di layout specifica della classe padre useranno il valore come input non di associazione durante il processo di layout e potrebbero dover ritagliare, ridimensionare l'oggetto, ridimensionare il contenitore o una combinazione di questi comportamenti che si estende su più oggetti partecipanti nel layout. Il margine e la spaziatura interna 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 in modo statico, perché il layout ha rifiutato le dimensioni suggerite o momentaneamente. Il sistema di layout stesso funziona in modo asincrono rispetto al set di proprietà di Width
e il sistema di layout potrebbe non aver ancora elaborato tale modifica della proprietà di ridimensionamento.
I valori negativi per Width
non sono consentiti.
Inoltre, non impostare Width
su un valore 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 puoi 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 eseguire il ==
test per NaN.
In C# usare Double.IsNaN() per testare NaN.
In C++ usare isnan() per testare NaN.