[英]WPF DataGrid sizing content of a templated column
我有一個帶有2個模板化列的DataGrid:
第一個包括一個組合框,我讓它的大小適合它的內容,因為這最多只有一兩個字;
第二個包含一個文本框,文本可能會變得有點長。
所以在這里我設置MaxWidth=somevalue
以避免其寬度超出datagrid容器,我對其MaxHeight
做同樣的MaxHeight
,並設置要包裝的文本。 無論如何,我希望文本框的大小調整以填充datagrid容器中的所有剩余空間:如果用戶縮小或放大第二列,我希望文本框相應地縮小或放大,以便它們的寬度保持在同步。 文本將換行,並根據需要顯示滾動條。
網格中的兩個控件都綁定到MVVM方案中的數據源。 任何人都可以提示讓模板文本框寬度與容器列擴展/收縮嗎? 這是我的示例代碼:
<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>
在TextBox
上設置HorizontalAlignment="Stretch"
並設置DataGrid的Column Width="*"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.