FrameworkElement.Width Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Breite eines FrameworkElements.

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 als 0 sein.

Beispiele

Dieses Beispiel zeigt einen einfachen Eigenschaftensatz eines UI-Elements, das zur Laufzeit erstellt wird und die Initialisierung seines Inhalts und grundlegende Anzeigeeigenschaften wie Height, Widthund Background benötigt. (Der Hintergrund ist tatsächlich 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";

Hinweise

Width ist eine von drei beschreibbaren Eigenschaften für FrameworkElement , die Breiteinformationen angeben. Die anderen beiden sind MinWidth und MaxWidth. Wenn zwischen diesen Werten ein Konflikt besteht, besteht die Reihenfolge der Anwendung für die tatsächliche Breitebestimmung darin, dass zuerst MinWidth berücksichtigt werden muss, und MaxWidthschließlich, wenn sie sich innerhalb der Grenzen befindet. Width

Mehrere der abgeleiteten FrameworkElement-Typen werden auch von Shape abgeleitet. Nicht alle Shape Klassen verwenden Height oder Width geben deren Darstellung an und verwenden stattdessen bestimmte Eigenschaften, die einen Satz von Punkten definieren können. In diesem Fall wird eine Height oder Width eine Berechnung vorgenommen, wird jedoch in der Regel nicht direkt festgelegt.

Benutzerdefinierte Klassen weisen möglicherweise ähnliche Überlegungen auf, bei denen die Klasse möglicherweise Eigenschaften aufweist, die für die Angabe von Dimensionen aussagekräftiger sind als "Height " oder Width"Height". Height oder Width sind beide weiterhin als Mitglieder verfügbar und können festgelegt werden.

Das Objekt, bei dem die Höhe oder Width Die Eigenschaften festgelegt werden, ist fast immer ein untergeordnetes Objekt in der untergeordneten Auflistung eines anderen übergeordneten Elements, und die Einstellung Height oder Width auf einen Wert ist nur ein vorgeschlagener Wert für den Layoutprozess. Das Layoutsystem sowie die spezielle Layoutlogik der Klasse des übergeordneten Elements verwenden den Wert während des Layoutprozesses als nicht gebundene 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 umfassen, die mehrere teilnehmende Objekte im Layout umfassen. Rand und Abstand wirken sich auch auf die verfügbare Größe aus. Weitere Informationen 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 im Moment. Das Layoutsystem selbst funktioniert asynchron relativ zum Eigenschaftensystemsatz Width, und das Layoutsystem hat diese Größenänderung möglicherweise noch nicht verarbeitet.

Negative Werte sind Width unzulässig.

Legen Sie außerdem keinen Width Wert fest, 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().

Verwenden Sie den == Operator nicht zum Testen auf NaN.

Verwenden Sie in C # Double.IsNaN() zum Testen auf NaN.

Verwenden Sie in C++ isnan() zum Testen auf NaN.

Gilt für:

Weitere Informationen