簡體   English   中英

WPF DataGrid調整模板列的內容大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM