Il s'agit du contrôle UserControl qui affiche les détails de mon application et, comme vous pouvez le voir, la propriété ColumnWidth
est explicitement définie sur *
. J'ai également essayé de définir la propriété Width
à partir du DataGridTextColumn
.Propriété DataGrid ColumnWidth ignorée dans DataTemplate pour les détails de la ligne
<UserControl x:Class="WpfUserInterface.MyDetailsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Height="185" d:DesignWidth="480">
<Grid>
<DataGrid ColumnWidth="*" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1"/>
<DataGridTextColumn Header="Column2"/>
<DataGridTextColumn Header="Column3"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
Ceci est la fenêtre principale qui contient uniquement le DataGrid.
<Window x:Class="WpfUserInterface.Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window" Height="306" Width="453">
<Grid>
<DataGrid ColumnWidth="*">
<DataGrid.Columns>
<DataGridTextColumn Header="ParentColumn1"/>
<DataGridTextColumn Header="ParentColumn2"/>
<DataGridTextColumn Header="ParentColumn3"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<MyDetailsView/>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
</Window>
Ceci est affiché à l'écran lorsque vous exécutez l'application et sélectionnez une ligne dans le DataGrid parent.
Quand je mets la largeur de la grille de données dans le MyDetailsView
à une valeur spécifiée comme 400 les colonnes sont de taille parfaite, mais ce n'est pas une option. Y a-t-il un moyen de résoudre ce problème? Une solution de contournement?
Je suis également confronté au même problème. Peu importe que je donne ColumnWidth en tant que * ou valeur de toute liaison, il est simplement ignoré. Cependant, donner une valeur absolue à xaml fonctionne. – digitguy