Je peins dynamiquement sur ma toile qui se trouve à l'intérieur de ma grille WPF mais ni la toile ni la grille ne s'étirent correctement. Voici mon code ....WPF Grille ne s'étire pas avec la fenêtre
<Window x:Class="WPFNimGame.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Game of Nim" Height="auto" Width="auto" PreviewKeyDown="Window_PreviewKeyDown_1" Name="Window">
<Grid Name="Grid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="33"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="Black" BorderThickness="10" Grid.RowSpan="2"/>
<!--<Grid.Background>-->
<!--<ImageBrush ImageSource=".\Properties\black-diamond-plate.bmp" -->
<!-- </Grid.Background>-->
<DockPanel VerticalAlignment="Top" Height="20" Width="{Binding ElementName=Window,Path=Width}" Grid.RowSpan="2" >
<Menu IsMainMenu="True" Margin="0" >
<MenuItem Name="File" Header="File" Click="File_Click_1">
<MenuItem Name="NewGame" Header="New Game" />
</MenuItem>
</Menu>
</DockPanel>
<Canvas Name="paintCanvas" Width="{Binding ElementName=Grid,Path=ActualWidth}" Height="{Binding ElementName=Grid,Path=ActualHeight}" MouseLeftButtonDown="paintCanvas_MouseLeftButtonDown" Grid.Row="1" >
<Border BorderBrush="Blue" BorderThickness="10" ></Border>
</Canvas>
</Grid>
Vous définissez la hauteur de la ligne 1 dans la RowDefinition mais pour le contenu de la ligne 1 vous définissez la hauteur à la hauteur de la grille. En mathématiques, ils appellent cela plus défini. – Paparazzi
Retirez toutes les références à l'alignement vertical/horizontal, la hauteur et la largeur. Si vous voulez que votre objet soit toujours dans une certaine ligne/colonne, tout ce dont vous avez besoin est de spécifier la colonne, la ligne, la durée de la colonne et l'étendue de la ligne. Pour développer votre grille, mettez un * à côté des définitions (ex: 33 * ou juste *). J'espère que cela t'aides! –