Tôi có biểu đồ dữ liệu trong đó tôi hiển thị một số đối tượng với một số cột. Tôi đã thêm nhóm vào datagrid và bây giờ có vẻ như nó không giống như colulmns với chiều rộng của '*' - tất cả các cột đều bị thu hẹp đến độ rộng tối thiểu của chúng. Tuy nhiên, khi tôi làm mới lưới (sau khi thêm một phần tử hoặc sửa đổi một phần tử hiện có), tôi có thể thấy các cột làm mới được. Điều kỳ lạ là tôi gọi cùng một chức năng hai lần và lần đầu tiên nó không hoạt động trong khi thứ hai nó hoạt động.Cột được thu gọn khi sử dụng nhóm trong datagrid
Trước:
http://www.microage-dil.ca/SO/GridBefore.png
Sau khi cập nhật một lần
http://www.microage-dil.ca/SO/GridAfter.png Đây là Refresh chức năng:
Private Sub ListerDocuments()
Dim lstCVDocuments As New ListCollectionView(_oLstDocuments)
lstCVDocuments.GroupDescriptions.Add(New PropertyGroupDescription("TypeFichier"))
GridDocuments.ItemsSource = lstCVDocuments
GridDocuments.Items.Refresh()
End Sub
Và bây giờ DataGrid:
<DataGrid x:Name="GridDocuments" Grid.Column="0" ItemsSource="{Binding}" Style="{StaticResource BaseGrid}" IsTabStop="False">
<DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBlock Text="{Binding Path=Name}" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander>
<Expander.Header>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBlock Text="{Binding Path=Name}" FontWeight="Bold" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</DataGrid.GroupStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Nom" Width="2*" MinWidth="150"
Binding="{Binding NomFichier}"
IsReadOnly="True" />
<DataGridTextColumn Header="Fichier" Width="3*" MinWidth="150"
Binding="{Binding NomFichierOriginal}"
IsReadOnly="True" />
<DataGridTextColumn Header="Extension" Width="65" MinWidth="50"
Binding="{Binding ExtensionFormate}"
IsReadOnly="True" />
<DataGridTextColumn Header="Date d'ajout" Width="80" MinWidth="80"
Binding="{Binding DateAjout, StringFormat=yyyy-MM-dd}"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
Tôi nhận được phần nhóm trên mạng và nó có vẻ hoạt động tốt cho đến khi tôi tìm thấy lỗi tparticular tha. Lưu ý rằng tôi đã thêm HorizontalAlignment = "Strech" bởi vì tôi mặc dù nó có thể giải quyết được vấn đề nhưng không được.
EDIT: Quên đề cập đến, lần đầu tiên tôi gọi hàm ListerDocument, biến được nạp đầy đủ với các văn bản và nó được gọi trong các nhà xây dựng (mới)
Cảm ơn rất nhiều. Vì vậy, nhiều điều cần biết về WPF ... –
Cảm ơn rất nhiều - nhấn rằng vấn đề trong nhiều giờ và điều này giải quyết nó chính xác. – WhileTrueSleep
Chà. Cám ơn rất nhiều. WPF. – JohnB