2011-08-25 40 views
5

Tôi có một DataGrid với 2 cột templated:WPF DataGrid kích thước nội dung của một cột templated

  • là người đầu tiên bao gồm một combobox và tôi để cho nó kích thước để phù hợp với nội dung của nó, vì đây là nhiều nhất một hoặc hai từ ngữ;

  • tùy chọn thứ hai thay vì bao gồm hộp văn bản nơi văn bản có thể trở nên hơi dài.

Vì vậy, ở đây tôi thiết MaxWidth=somevalue để tránh chiều rộng của nó mở rộng ra ngoài các thùng chứa DataGrid, tôi làm tương tự cho MaxHeight của nó, và đặt văn bản để bọc. Dù sao, tôi muốn hộp văn bản kích thước chiều rộng của nó để lấp đầy tất cả không gian còn lại trong vùng chứa dữ liệu: nếu người dùng co lại hoặc phóng to cột thứ 2, tôi muốn hộp văn bản thu nhỏ hoặc phóng to sao cho chiều rộng của chúng ở lại đồng bộ. Văn bản sẽ được bao bọc và thanh cuộn xuất hiện khi cần thiết.

Cả hai điều khiển trong lưới đều được liên kết với nguồn dữ liệu trong trường hợp MVVM. Bất cứ ai có thể đưa ra một gợi ý cho phép chiều rộng hộp văn bản mẫu mở rộng/hợp đồng với cột container? Đây là mẫu mã của tôi:

<DataGrid ...> 
    <DataGrid.Columns> 
    <!-- 1 --> 
    <DataGridTemplateColumn ...> 
     <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <ComboBox .../> 
     </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 

    <!-- 2: THIS TEXTBOX SHOULD EXPAND/CONTRACT WITH ITS CONTAINER COLUMN --> 
    <DataGridTemplateColumn ...> 
     <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBox TextWrapping="Wrap" 
       MinWidth="400" MaxWidth="700" 
       MaxHeight="400" 
       ScrollViewer.VerticalScrollBarVisibility="Auto" .../> 
     </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 
    </DataGrid.Columns> 
</DataGrid> 

Trả lời

7

Đặt HorizontalAlignment="Stretch" trên TextBox của bạn và thiết lập cột của DataGrid của bạn Width="*"

+0

Cảm ơn, tôi không biết gì về kích thước sao cho DataGrid quá :) – Naftis

+0

Sử dụng này 6 năm sau đó. Cảm ơn. +1 – BENN1TH

Các vấn đề liên quan