Ho un DataGrid con 2 colonne su modelli:WPF DataGrid dimensionamento contenuto di una colonna su modelli
la prima comprende una casella combinata e lasciarlo dimensioni per adattarsi suo contenuto, in quanto questo è al massimo uno o due parole;
il secondo include una casella di testo in cui il testo potrebbe diventare un po 'lungo.
Così qui ho impostato MaxWidth=somevalue
per evitare la sua larghezza espandersi al di là del contenitore datagrid, faccio lo stesso per la sua MaxHeight
, e impostare il testo per avvolgere. Ad ogni modo, vorrei che la casella di testo ridimensionasse la sua larghezza per riempire tutto lo spazio rimanente nel contenitore di dati: se l'utente restringe o ingrandisce la seconda colonna, vorrei che la casella di testo si restringesse o si ingrandisse di conseguenza in modo che la loro larghezza rimanga synch. Il testo verrà inserito e le barre di scorrimento verranno visualizzate come necessario.
Entrambi i controlli nella griglia sono associati a un'origine dati in uno scenario MVVM. Qualcuno potrebbe dare un suggerimento per lasciare che la larghezza della textbox del template si espanda/si contragga con la colonna del contenitore? Qui è il mio codice di esempio:
<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>
Grazie, io non conoscevo dimensioni stella per DataGrid troppo :) – Naftis
Utilizzando questo 6 anni più tardi. Grazie. +1 – BENN1TH