Freigeben über


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 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 Widthdes 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.

Gilt für:

Weitere Informationen