Partage via


FrameworkElement.Width Propriété

Définition

Obtient ou définit la largeur d’un 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"/>

Valeur de propriété

Double

double

Largeur de l’objet, en pixels. La valeur par défaut est NaN. À l’exception de la valeur NaN spéciale, cette valeur doit être égale ou supérieure à 0.

Exemples

Cet exemple montre un ensemble de propriétés simple d’un élément d’interface utilisateur créé au moment de l’exécution et qui doit être initialisée de son contenu et de ses propriétés d’affichage de base, telles que Height et Width et Background. (Background est en fait une propriété Control , non définie par FrameworkElement.)

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"

Remarques

Width est l’une des trois propriétés accessibles en écriture sur FrameworkElement qui spécifient des informations de largeur. Les deux autres sont MinWidth et MaxWidth. En cas de conflit entre ces valeurs, l’ordre d’application pour la détermination de la largeur réelle est que minWidth doit d’abord être respecté, puis MaxWidth et enfin, s’il se trouve dans des limites, Width.

Plusieurs types dérivés de FrameworkElement sont également dérivés de Shape. Toutes les classes Shape n’utilisent pas Height ou Width pour spécifier leur apparence, et utilisent à la place des propriétés spécifiques qui peuvent définir un ensemble de points. Dans ce cas, une hauteur ou une largeur est calculée, mais n’est généralement pas définie directement.

Les classes personnalisées peuvent avoir des considérations similaires dans lesquelles la classe peut avoir des propriétés plus significatives pour spécifier des dimensions que height ou width. Height ou Width sont toujours disponibles en tant que membres et sont définissables.

L’objet dans lequel les propriétés Height ou Width sont définies est presque toujours un objet enfant dans la collection enfant d’un autre parent, et définir Height ou Width sur une valeur n’est qu’une valeur suggérée pour le processus de disposition. Le système de disposition, ainsi que la logique de disposition particulière de la classe du parent, utilisent la valeur comme entrée sans liaison pendant le processus de disposition, et peuvent avoir à découper, redimensionner l’objet, redimensionner le conteneur ou une combinaison de ces comportements qui couvrent plusieurs objets participants dans la disposition. La marge et le remplissage influencent également la taille disponible. Pour plus d’informations, voir Alignement, marge et espacement.

La valeur de retour de cette propriété est toujours la même que toute valeur qui lui a été définie. En revanche, la valeur de la propriété ActualWidth peut varier. La variance peut se produire soit de manière statique, car la disposition a rejeté la taille suggérée, soit momentanément. Le système de disposition lui-même fonctionne de manière asynchrone par rapport à l’ensemble width du système de propriétés, et le système de disposition n’a peut-être pas encore traité cette modification de propriété de dimensionnement.

Les valeurs négatives pour Width ne sont pas autorisées.

En outre, ne définissez pas Width sur une valeur qui est considérablement supérieure à la taille maximale d’un affichage visuel possible.

« Auto » et NaN

La valeur par défaut de Height et Width est « Auto », représentée par NaN. Dans le balisage XAML, vous pouvez utiliser la chaîne « Auto » pour définir la valeur sur NaN.

Notes

En C#, vous pouvez obtenir NaN à partir de Double.NaN.

En C++, vous pouvez obtenir NaN à l’aide de la NAN macro ou std::numeric_limits<double>::quiet_NaN()de .

N’utilisez pas l’opérateur == pour tester NaN.

En C#, utilisez Double.IsNaN() pour tester NaN.

En C++, utilisez isnan() pour tester NaN.

Le système de disposition interprète la valeur « Auto » comme signifiant généralement que l’objet doit être dimensionné à la taille disponible dans la disposition, plutôt qu’à une valeur de pixel spécifique.

S’applique à

Voir aussi