2011-08-25 62 views
5

我有2個模板列的數據網格:WPF數據網格上漿模板化柱的內容

  • 第一包括組合框和我讓它尺寸以適應其內容,因爲這是至多一個或兩個話;

  • 第二個代碼包含一個文本框,文本可能會變得有點長。

所以我在這裏設置MaxWidth=somevalue避免其寬度超過DataGrid的容器膨脹,我做同樣以其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> 

回答

7

TextBox設置HorizontalAlignment="Stretch"並設置DataGrid的列Width="*"

+0

謝謝,我不知道明星大小的DataGrid太:) – Naftis

+0

使用這6個年以後。謝謝。 +1 – BENN1TH