Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

FrameworkElement.Width, propriété

Obtient ou définit la largeur de l'élément.

Espace de noms :  System.Windows
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(LengthConverter))]
public double Width { get; set; }
<object Width="double"/>
- or –
<object Width ="qualifiedDouble"/>
- or -
<object Width ="Auto"/>

Valeurs XAML

double

Double

Représentation sous forme de chaîne d'une valeur Double supérieure ou égale à 0,0. Consultez la section Notes pour plus d'informations sur les limites supérieures. Cette valeur est interprétée comme une mesure exprimée en device-independent unit (1/96th inch). Les chaînes n'incluent pas explicitement le séparateur décimal. Par exemple, la valeur 1 est acceptable.

qualifiedDouble

Valeur double telle que décrite ci-dessus, suivie de l'une des chaînes de déclaration d'unité suivantes : px, in, cm ou pt.

px (valeur par défaut) représente les device-independent units (1/96th inch per unit)

in est l'abréviation du mot anglais « inches » (pouces) ; 1 in = 96 px

cm correspond à centimètres ; 1 cm = (96/2,54) px

pt correspond à points ; 1 pt = (96/72) px

Auto

Active le comportement de redimensionnement automatique. Voir Notes.

Valeur de propriété

Type : System.Double
Largeur de l'élément, exprimée en device-independent units (1/96th inch per unit). La valeur par défaut est Double.NaN. Cette valeur doit être supérieure ou égale à zéro. Consultez la section Notes pour plus d'informations sur les limites supérieures.

Champ d'identificateur

WidthProperty

Propriétés de métadonnées définies à true

AffectsMeasure

Elle correspond à l'une de trois propriétés sur FrameworkElement qui donne les informations sur la largeur. Les deux autres sont MinWidth et MaxWidth. Si un conflit se présente entre ces valeurs, l'ordre d'application pour la détermination de la largeur réelle est le suivant : l'attribut MinWidth doit être honoré en premier, puis MaxWidth, et enfin, si chacune de ces valeurs se trouvent dans les limites, Width.

La valeur de retour de cette propriété est toujours la même que toute autre qui lui est affectée. À l'inverse, la valeur de ActualWidth peut varier. La disposition peut parfois rejeter les dimensions proposées. Aussi, le système de disposition fonctionne de façon asynchrone en fonction de l'ensemble de Width du système de propriétés et peut n'avoir pas encore pu traiter cette modification de propriété de dimensionnement en particulier.

En plus des valeurs Double acceptables, cette propriété peut également avoir la valeur Double.NaN. C'est ainsi que vous devez spécifier le comportement de dimensionnement automatique. En XAML, vous devez affecter à la valeur la chaîne "Auto" (non sensible à la casse) pour activer le comportement de dimensionnement automatique. Le comportement de dimensionnement automatique implique que l'élément remplit la largeur qui lui est disponible. Notez cependant que les contrôles spécifiques fournissent fréquemment des valeurs par défaut dans leur style par défaut qui désactive le comportement de dimensionnement automatique à moins qu'il ne soit réactivé explicitement.

En plus du contrôle de validation, il existe une limite de valeur supérieure non déterministe pour Width qui est appliquée par le système de disposition (ce nombre est véritablement plus grand que Single.MaxValue mais plus petit que Double.MaxValue). Si vous dépassez cette limite, le rendu de l'élément ne se fait pas et aucune exception n'est levée. N'affectez pas de valeur à Width, qui est sensiblement plus grande que la taille maximale permettant toute visualisation ou vous risquez de dépasser cette limite supérieure non déterministe.

This example visually shows the differences in rendering behavior among the four width-related properties in Windows Presentation Foundation (WPF).

The FrameworkElement class exposes four properties that describe the width characteristics of an element. These four properties can conflict, and when they do, the value that takes precedence is determined as follows: the MinWidth value takes precedence over the MaxWidth value, which in turn takes precedence over the Width value. A fourth property, ActualWidth, is read-only, and reports the actual width as determined by interactions with the layout process.

The following Extensible Application Markup Language (XAML) examples draw a Rectangle element (rect1) as a child of Canvas. You can change the width properties of a Rectangle by using a series of ListBox elements that represent the property values of MinWidth, MaxWidth, and Width. In this manner, the precedence of each property is visually displayed.


<Canvas Height="200" MinWidth="200" Background="#b0c4de" VerticalAlignment="Top"  HorizontalAlignment="Center" Name="myCanvas">
    <Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50"  Name="rect1" Fill="#4682b4" Width="100" Height="100"/>
</Canvas>


...


    <TextBlock Grid.Row="1" Grid.Column="0" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle Width:</TextBlock>
    <ListBox Grid.Column="1" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
    </ListBox>

	<TextBlock Grid.Row="1" Grid.Column="2" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MinWidth:</TextBlock>
    <ListBox Grid.Column="3" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMinWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
  </ListBox>      

    <TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxWidth:</TextBlock>
    <ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMaxWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>  
    </ListBox>


The following code-behind examples handle the events that the SelectionChanged event raises. Each custom method takes the input from the ListBox, parses the value as a Double, and applies the value to the specified width-related property. The width values are also converted to a string and written to various TextBlock elements (definition of those elements is not shown in the selected XAML).


private void changeWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Width = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMinWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMaxWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}


For the complete sample, see Width Properties Comparison Sample.

.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

Afficher:
© 2014 Microsoft