FrameworkElement.Width Eigenschaft

Definition

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

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 dessen Inhalt und grundlegende Anzeigeeigenschaften wie Höhe und Breite und Hintergrund initialisiert werden müssen. (Background ist eigentlich eine Control-Eigenschaft , nicht durch FrameworkElement definiert.)

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"

Hinweise

Width ist eine von drei beschreibbaren Eigenschaften für FrameworkElement , die Informationen zur Breite angeben. Die anderen beiden sind MinWidth und MaxWidth. Wenn es einen Konflikt zwischen diesen Werten gibt, lautet die Reihenfolge der Anwendung für die tatsächliche Breitenbestimmung, dass zuerst MinWidth , dann MaxWidth und schließlich, wenn es innerhalb der Grenzen liegt, Width berücksichtigt werden muss.

Mehrere abgeleitete FrameworkElement-Typen werden ebenfalls von Shape abgeleitet. Nicht alle Shape-Klassen verwenden Height oder Width, um ihre Darstellung anzugeben, und verwenden stattdessen bestimmte Eigenschaften, die eine Reihe von Punkten definieren können. In diesem Fall wird eine Höhe oder Breite berechnet, aber normalerweise nicht direkt festgelegt.

Benutzerdefinierte Klassen haben möglicherweise ähnliche Überlegungen, bei denen die -Klasse über Eigenschaften verfügt, die für die Angabe von Dimensionen aussagekräftiger sind als Höhe oder Breite. Höhe oder Breite sind weiterhin als Member verfügbar und festlegbar.

Das Objekt, in dem die Eigenschaften Height oder Width festgelegt sind, ist fast immer ein untergeordnetes Objekt in der untergeordneten Auflistung eines anderen übergeordneten Elements, und das Festlegen von 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 beschneiden, die Größe des Objekts ändern, die Größe des Containers ändern oder eine Kombination dieser Verhaltensweisen, die mehrere teilnehmende Objekte im Layout umfasst. Rand und Abstand beeinflussen auch die verfügbare Größe. Weitere Informationen hierzu finden Sie unter Ausrichtung, Rand und Abstand.

Der Rückgabewert dieser Eigenschaft ist immer identisch mit jedem Wert, 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 arbeitet asynchron relativ zum Width-Satz des Eigenschaftssystems, und das Layoutsystem hat diese Größenänderung möglicherweise noch nicht verarbeitet.

Negative Werte für Width sind nicht zulässig.

Legen Sie außerdem Width nicht auf einen Wert fest, der erheblich größer als die maximale Größe einer möglichen visuellen Anzeige ist.

"Auto" und NaN

Der Standardwert für Höhe und Breite 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.

Das Layoutsystem interpretiert den "Auto"-Wert im Allgemeinen so, dass das Objekt auf die verfügbare Größe im Layout anstatt auf einen bestimmten Pixelwert angepasst werden sollte.

Gilt für:

Weitere Informationen