Đầu tiên! Tôi biết nó có thể có vẻ là một loại dup tuy nhiên nó không phải là.Làm thế nào để cột DataGrid cuối cùng chiếm toàn bộ không gian bên trái?
Tôi có lưới làm mẫu dữ liệu cho DataGrid.RowDetails
. Nó có ba cột: hai với Width="Auto"
và 3d với Width="*"
<DataTemplate x:Key="NotEmptyDistributionsTemplateKey">
<DataGrid ItemsSource="{Binding SoftwareVersionDistributions}"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="True"
CanUserSortColumns="False"
IsReadOnly="True"
CanUserResizeRows="False"
AutoGenerateColumns="False"
RowHeaderWidth="0"
Margin="20,5"
HorizontalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn
Header="Architecture"
Binding="{Binding SoftwareArchitecture.Name, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridTextColumn
Header="Language"
Binding="{Binding SysCodepage.Title, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridHyperlinkColumn
Header="Link"
Binding="{Binding DownloadLink}"
Width="*"
CanUserResize="False"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
mẫu này cho thấy chính xác 3 cột, nếu lưới được lồng trong một tế bào. Nhưng khi nó được sử dụng như RowDetaislTemplate
cột trống thứ 4 xuất hiện. Điều này làm tôi phát điên.
Có ai có ý tưởng tại sao điều này có thể xảy ra không?
Cập nhật 1. Làm thế nào nó trông giống:
Cập nhật 2.
Cuối cùng tôi tìm thấy linh hồn. Chỉ cần thêm ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Bây giờ là ok:
Nhưng tôi không thể hiểu được hành vi kỳ quặc này.
Cập nhật 3 (có thể hữu ích cho một ai đó)
Gần đây chúng tôi đã tìm thấy một lỗi mà người dùng của chúng tôi đã và các nhà phát triển thì không. Các lỗi đã một lần nữa về chiều rộng và sự liên kết của DataGrid. Vâng, có thể đây không phải là một lỗi, nhưng chúng tôi có hành vi khác nhau của sự kiểm soát.
Nghiên cứu cho thấy rằng khi cài đặt .net framework 4.5 installer cũng được cập nhật .net framework 4.0. Bản cập nhật này thay đổi bằng cách nào đó hành vi của DataGrid. (theo dự kiến)
Chúng tôi đã yêu cầu người dùng của chúng tôi cài đặt khung 4.5 và vấn đề bị biến mất. Mặc dù ứng dụng của chúng tôi vẫn nhắm mục tiêu .net 4.0
Bạn có thể đăng ảnh chụp màn hình hay không, tôi nghi ngờ vấn đề là lưới bố mẹ cho cột * chiều rộng – Charleh
@Charleh. Bạn đúng rồi. Chiều rộng của một cột là *. Nhưng khi mẫu dữ liệu này phục vụ như là một khuôn mẫu cho một tế bào tất cả mọi thứ hoạt động tốt. RowDetailsTemplate là một vấn đề. –
@Charleh. Tôi sẽ đăng ảnh chụp màn hình vào ngày mai –