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

FrameworkElement.Height, propriété

Obtient ou définit la hauteur suggérée 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

[TypeConverterAttribute(typeof(LengthConverter))]
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double Height { get; set; }
<object Height="double"/>
- or -
<object Height="qualifiedDouble"/>
- or -
<object Height="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 unité indépendante du périphérique (1/96ème de pouce). 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 unités indépendantes du périphérique (1/96ème de pouce par 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. Consultez la section Notes.

Valeur de propriété

Type : System.Double
Hauteur de l'élément, exprimée en unités indépendantes du périphérique (1/96ème de pouce par 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

HeightProperty

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

AffectsMeasure

Height est l'une des trois propriétés accessibles en écriture sur FrameworkElement qui spécifient des informations de hauteur. Les deux autres sont MinHeight et MaxHeight. Si un conflit se présente entre ces valeurs, l'ordre d'application pour la détermination de la hauteur réelle est le suivant : l'attribut MinHeight doit être honoré en premier, puis MaxHeight, et enfin, si la valeur se trouve dans les limites, Height.

Si cet élément est enfant de quelque autre élément, une valeur affectée ensuite à cette propriété n'est véritablement qu'une valeur suggérée. Le système de disposition ainsi que le code d'une disposition particulière de l'élément parent utilise la valeur comme entrée sans liaison pendant le processus de disposition. En termes pratiques, un objet FrameworkElement est presque toujours l'élément enfant de quelque chose d'autre, et ce même lorsque vous affectez Height à Window. (Pour Window, cette valeur est utilisée lorsque le modèle d'application sous-jacent établit les hypothèses de rendu de base qui créent le Hwnd hébergeant l'application.)

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 code. 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 hauteur qui lui est disponible. Notez cependant que les contrôles spécifiques fournissent fréquemment des valeurs par défaut à travers leur style de thème par défaut qui désactive le comportement de dimensionnement automatique à moins qu'il ne soit réactivé explicitement.

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 ActualHeight peut varier. Cela peut arriver statiquement car la disposition a rejeté la taille suggérée pour une raison quelconque, ou momentanément. Le système de disposition fonctionne de façon asynchrone en fonction de l'ensemble de Height du système de propriétés et peut n'avoir pas encore pu traiter cette modification de propriété de dimensionnement en particulier.

Les restrictions de valeurs sur Double sont appliquées par un mécanisme de ValidateValueCallback. Si vous essayez d'affecter une valeur non valide, une exception d'exécution est levée.

En plus du contrôle de validation, il existe une limite de valeur supérieure non déterministe pour Height 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 à Height, 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.

Cet exemple montre visuellement les différences de rendu d'un comportement dans Windows Presentation Foundation (WPF), parmi les quatre propriétés associées à la hauteur.

La classe FrameworkElement expose quatre propriétés qui décrivent les caractéristiques de hauteur d'un élément. Ces quatre propriétés peuvent entrer en conflit et, lorsque c'est le cas, la valeur prioritaire est déterminée comme suit : la valeur MinHeight est prioritaire sur la valeur MaxHeight qui, elle-même, est prioritaire sur la valeur Height. Une quatrième propriété, ActualHeight, est en lecture seule et signale la hauteur réelle, telle qu'elle est déterminée par les interactions avec le processus de disposition.

Les exemples XAML (eXtensible Application Markup Language) suivants dessinent un élément Rectangle (rect1) comme enfant de Canvas. Vous pouvez modifier les propriétés de hauteur d'un Rectangle à l'aide d'une série d'éléments ListBox qui représentent les valeurs de propriété MinHeight, MaxHeight et Height De cette manière, la priorité de chaque propriété est affichée visuellement.


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


...


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

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

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


Les exemples de code-behind suivants gèrent les événements déclenchés par l'événement SelectionChanged. Chaque gestionnaire extrait l'entrée de ListBox, analyse la valeur en tant que Double et applique la valeur à la propriété associée à la hauteur spécifiée. Les valeurs de hauteur sont également converties en une chaîne et écrites dans différents éléments TextBlock (la définition de ces éléments n'est pas affichée dans le XAML sélectionné).


private void changeHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Height = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMinHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMaxHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}


Pour obtenir l'exemple complet, consultez Propriétés Height, exemple.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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