2013-12-17 17 views
16

Làm cách nào để tạo một thẻ dữ liệu wpf lấp đầy tất cả không gian có sẵn và thay đổi kích thước bằng cửa sổ? Tâm trí rằng datagrid nằm bên trong một lưới.Làm thế nào để làm cho một datagrid wpf điền vào tất cả các không gian có sẵn và thay đổi kích thước với cửa sổ?

+0

Hiển thị mã của bạn. Lưới cha mẹ của bạn phải được thiết lập đúng cách tùy thuộc vào 'mã'. –

+0

Khi @dirt yêu cầu, vui lòng hiển thị mã. Nói chung tôi không sử dụng 'Grid' vì lý do đặc biệt này. Bất cứ khi nào tôi cần điều khiển của tôi để được tự động kích thước lại tôi sử dụng 'DockPanel' và' StackPanel' để sắp xếp điều khiển của tôi. Nó cung cấp rất nhiều tính linh hoạt vì 'DockPanel' lấp đầy không gian có sẵn với con logic hợp lý cuối cùng – Sandesh

Trả lời

18

Bạn sẽ có thể làm điều đó cho một DataGrid (hoặc cho bất kỳ kiểm soát WPF) bằng cách thiết lập HorizontalAlignmentVerticalAlignment-Stretch

Nếu đó là bên trong một Grid, bạn sẽ có thể thiết lập một cái gì đó như thế này

<Grid> <!-- parent grid or whatever --> 
    <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ... > 
    </DataGrid> 
</Grid> 
+1

Bạn cũng có thể muốn đặt' SizeToContent = "WidthAndHeight" 'trên điều khiển' Window' của bạn. –

10
  1. Không bao giờ đặt chiều cao hoặc chiều rộng để nó hoặc kiểm soát mẹ
  2. Không cần phải lo lắng về sự liên kết ngang và dọc từ theo mặc định nằm ngang và thẳng đứng alig nment được kéo dài. nếu ở trên là những điều phù hợp nên hoạt động :)
+0

Điều đó làm việc cho tôi, cổ vũ! – MushyPeas

4

Xóa toàn bộ thuộc tính chiều cao và chiều rộng của kiểm soát chính. loại bỏ thuộc tính ngang và dọc. Xác định chiều cao hàng là * của lưới mẹ của nó.

<Grid> 
<Grid.RowDefinitions> 
<RowDefinition Height="*"/> 
<RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 
    <DataGrid Grid.Row="0" > 
    </DataGrid> 
</Grid> 
+0

Nó không phải là một Grid, nó là DataGrid – Xav987

0

Chèn DataGrid trực tiếp vào lưới mà không cần gói với bảng.

<Grid> 
     <DataGrid> 
     </DataGrid> 
    </Grid> 
Các vấn đề liên quan