Dans l'exemple suivant, il y a deux lignes Grid
de hauteur 6*
et 4*
. Le problème est que seulement après que l'utilisateur change la taille de la fenêtre, la hauteur correcte des lignes est calculée. Cela se produit uniquement lorsque le drapeau SizeToContent
est défini.
Des idées pourquoi? Comment puis-je forcer la fenêtre à calculer automatiquement la hauteur quand elle est chargée?Wpf La hauteur des lignes de grille n'est pas calculée correctement avec SizeToContent
<Window x:Class="TestGridRow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="Height">
<Grid x:Name="grid">
<Grid.RowDefinitions>
<RowDefinition x:Name="row0" Height="6*"/>
<RowDefinition x:Name="row1" Height="4*"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" x:Name="textBox" TextWrapping="Wrap"
HorizontalScrollBarVisibility="Auto" IsReadOnly="True" xml:space="preserve">
Hallo
Hallo
Hallo
</TextBox>
<TextBlock Background="Red" Grid.Row="1"/>
</Grid>
3,5 ou 4? Je pense qu'il y a quelques problèmes avec le calcul de la taille de la grille et des lignes dans 4. – Will
Fondamentalement 2010/4, mais la même chose se produit en 2008/3.5. – Elad
Dans le constructeur de la classe, vous pouvez définir le paramètre SizeToContent après le rendu à l'aide de Dispatcher. – Rachel