2010-11-28 3 views
2

Я использую стандартный элемент управления DataGrid в Silverlight 4. Все данные считываются только, т. Е. Никакая ячейка не редактируется.Многострочная ячейка в Silverlight DataGrid

Кто-нибудь знает, как отображать текст в ячейке, чтобы он автоматически обертывался на следующую строку (в той же ячейке), когда граница ячейки была достигнута?

Любая обратная связь очень ценится.

ответ

3

В определении столбца установите TextWrapping свойство "Wrap":

<sdk:DataGridTextColumn 
     Header="Address" 
     Width="150" 
     Binding="{Binding Address}" > 
     <sdk:DataGridTextColumn.ElementStyle> 
      <Style TargetType="TextBlock"> 
       <Setter Property="TextWrapping" Value="Wrap"/> 
      </Style> 
     </sdk:DataGridTextColumn.ElementStyle> 
    </sdk:DataGridTextColumn> 

Source

+0

Спасибо, Chrisf за ваш быстрый ответ. Ваше предложение работает. Ну, вроде. Случается, что текст обтекает, когда я вручную сужу ширину столбца. Однако высота столбца сохраняется даже тогда, когда я снова расширяю столбец (чтобы никакая упаковка не требовалась). Любые предложения по этому поводу? – Harald 2010-11-29 00:17:14

+0

@hhwh - Я не знаю руки. Мне пришлось бы экспериментировать, но смотреть на события изменения размера было бы лучшим местом для начала. – ChrisF 2010-11-29 08:46:49

0

Я не думаю, что это будет работать. Попробуйте использовать столбец шаблонов, поставьте TextBlock там, чтобы HorizontalAlignment и VerticalAlignment растягивались и не забудьте установить поля.