WPF DataGrid sizing Inhalt eines Vorlagen-Spalte

Ich habe ein DataGrid mit 2 Vorlagen-Spalten:

  • die erste beinhaltet eine combobox und ich lassen es Größe zu passen, dessen Inhalt, wie dies bei den meisten ein oder zwei Worte;

  • zweiten stattdessen enthält ein Textfeld, wo der text vielleicht etwas lang.

Also hier habe ich MaxWidth=somevalue zu vermeiden, deren Breite erweitern über die datagrid-container, Tue ich das gleiche für seine MaxHeight, und legen Sie text zu wickeln. Wie auch immer, ich möchte das Textfeld, um die Größe seiner Breite, zu füllen alle verbleibenden Raum in der datagrid-container: wenn der Benutzer verkleinert oder vergrößert der 2. Spalte möchte ich die textbox verkleinern oder vergrößern Sie entsprechend, so dass Ihre Breite bleiben synchron. Der Text wird umbrochen, und es werden Scrollbalken angezeigt, als notwendig.

Beide Steuerelemente im grid an eine Datenquelle gebunden in einem MVVM-Szenario. Könnte jemand einen Tipp geben für die Vermietung der Vorlage textbox-Breite erweitern/Vertrag mit dem container-Spalte? Hier ist mein Beispielcode:

<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>
InformationsquelleAutor Naftis | 2011-08-25
Schreibe einen Kommentar