FrameworkElement.Width Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Breite eines FrameworkElements ab oder legt diese fest.
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"/>
Eigenschaftswert
double
Die Breite des Objekts in Pixel. Der Standardwert ist NaN. Mit Ausnahme des speziellen NaN-Werts muss dieser Wert gleich oder größer 0 sein.
Beispiele
Dieses Beispiel zeigt einen einfachen Eigenschaftensatz eines UI-Elements, das zur Laufzeit erstellt wird und eine Initialisierung des Inhalts und der grundlegenden Anzeigeeigenschaften wie Height, Width
, und Background erfordert. (Background ist eigentlich eine Control-Eigenschaft , die nicht von FrameworkElement definiert wird.)
Button button2 = new Button();
button2.Height = 50;
button2.Width = 100;
button2.Background = new SolidColorBrush(Colors.Blue);
button2.Content = "Click Me";
Hinweise
Width
ist eine von drei beschreibbaren Eigenschaften in FrameworkElement , die Breiteinformationen angeben. Die beiden anderen sind MinWidth und MaxWidth. Wenn es einen Konflikt zwischen diesen Werten gibt, ist die Reihenfolge der Anwendung für die tatsächliche Breitenermittlung, dass zuerst MinWidth
berücksichtigt werden muss, dann MaxWidth
, und schließlich, wenn sie sich innerhalb von Grenzen befindet, Width
.
Mehrere von FrameworkElement abgeleitete Typen werden auch von Shape abgeleitet. Nicht alle Shape
Klassen verwenden Height oder Width
, um ihre Darstellung anzugeben, und verwenden stattdessen bestimmte Eigenschaften, die einen Satz von Punkten definieren können. In diesem Fall wird ein Height
oder Width
berechnet, aber in der Regel nicht direkt festgelegt.
Benutzerdefinierte Klassen können ähnliche Überlegungen haben, bei denen die -Klasse eigenschaften aufweisen kann, die für die Angabe von Dimensionen aussagekräftiger sind als Höhe oder Width
.
Height
oder Width
sind beide weiterhin als Member verfügbar und können festgelegt werden.
Das Objekt, in dem die Höhe oder Width
die Eigenschaften festgelegt sind, ist fast immer ein untergeordnetes Objekt in der untergeordneten Auflistung eines anderen übergeordneten Elements, und das Festlegen Height
oder Width
auf einen Wert ist nur ein empfohlener Wert für den Layoutprozess. Das Layoutsystem sowie die spezielle Layoutlogik der übergeordneten Klasse verwenden den Wert während des Layoutprozesses als nicht bindungsfreie Eingabe und müssen möglicherweise das Objekt ausschneiden, die Größe des Objekts ändern, die Größe des Containers ändern oder eine Kombination dieser Verhaltensweisen, die mehrere teilnehmende Objekte im Layout umfassen. Ränder und Polster wirken sich auch auf die verfügbare Größe aus. Weitere Informationen hierzu finden Sie unter Ausrichtung, Rand und Abstand.
Der Rückgabewert dieser Eigenschaft ist immer mit jedem Wert identisch, der darauf festgelegt wurde. Im Gegensatz dazu kann der Wert der ActualWidth-Eigenschaft variieren. Die Varianz kann entweder statisch auftreten, da das Layout die vorgeschlagene Größe abgelehnt hat, oder vorübergehend. Das Layoutsystem selbst funktioniert asynchron relativ zum Satz von Width
des Eigenschaftensystems, und das Layoutsystem hat diese Änderung der Größeneigenschaft möglicherweise noch nicht verarbeitet.
Negative Werte für Width
sind nicht zulässig.
Legen Sie außerdem nicht auf einen Wert fest Width
, der wesentlich größer als die maximale Größe einer möglichen visuellen Anzeige ist.
"Auto" und NaN
Der Standardwert von Height und Width
ist "Auto", dargestellt durch NaN. Im XAML-Markup können Sie die Zeichenfolge "Auto" verwenden, um den Wert auf NaN festzulegen.
Hinweis
In C# können Sie NaN von Double.NaN abrufen.
In C++ können Sie NaN mithilfe des MakrosNAN
oder std::numeric_limits<double>::quiet_NaN()
abrufen.
Verwenden Sie den ==
Operator nicht, um auf NaN zu testen.
Verwenden Sie in C# Double.IsNaN(), um auf NaN zu testen.
Verwenden Sie in C++ isnan(), um auf NaN zu testen.