Tôi đang sử dụng DataGrid WPF4.0. Khi nhấp đúp vào một ô trong một hàng mới, mọi thứ hoạt động tốt trừ khi Tôi đã thêm kiểu ô vào cột đó. Ví dụ, tôi có một cột số nơi tôi muốn liên kết dữ liệu đúng như vậy XAML trông như thế nàyLàm thế nào để có được một tế bào DataFrid WPF để căn phải mà không làm cho khu vực lựa chọn trên một hàng mới nhỏ?
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
<DataGridTextColumn.Header>
<TextBlock Style="{StaticResource DataGridHeader}">Impa</TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
Trường hợp phong cách trong một nguồn tài nguyên chia sẻ chỉ là:
<Style x:Key="CellRightAlign">
<Setter Property="Control.HorizontalAlignment"
Value="Right" />
</Style>
Kết quả là khu vực có thể lựa chọn trên một hàng mới được hiển thị trong hình ảnh là khu vực nhỏ màu xanh. Đây là một mục tiêu rất nhỏ để người dùng nhấn, và điều này xảy ra là cột có khả năng nhất mà họ sẽ muốn bắt đầu bằng một hàng mới.
Nếu tôi loại bỏ các CellStyle, khu vực này hoạt động như mong muốn nhưng tất nhiên tôi đã làm mất sự liên kết đúng.
Có ai biết cách đạt được cả hai không?
Những điều tôi đã cố gắng
- Thiết TargetNullValue trên ràng buộc sang một định dạng với một số chiều rộng. Tính năng này hoạt động trên các hàng hiện có nhưng không ảnh hưởng đến hàng mới.
- Đặt MinWidth trên cột, điều này không ảnh hưởng đến chiều rộng của hàng mới có thể chọn khu vực.
Thing mà làm việc:
Sử dụng thông tin từ câu trả lời của @AngelWPF tôi đã có thể thay đổi từ việc sử dụng CellStyle để sử dụng ElementStyle như sau:
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
Trở thành
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
ElementStyle="{StaticResource CellRightAlign}">
Vấn đề tương tự nhưng không biết câu trả lời: http://stackoverflow.com/questions/18378515/how-to-make-cell-to-take-full-width-when-aligned-to-right -or-left-in-wpf-grid – digz6666