2016-12-11 5 views
0

Для этого должно быть простое решение, но я просто не могу его найти. У меня есть DataGrid с DataGridTextColumns, которые содержат данные. Это работает нормально. Мне просто кажется, что я не получаю строку внутри ячеек, чтобы сделать разрыв строки, вместо этого все в одной строке (независимо от того, как долго длится строка).C# DataGridTextColumn line break

dataGrid.IsReadOnly = true; 
dataGrid.AutoGenerateColumns = false; 
dataGrid.ItemsSource = ConvertListIntoPlantViewModel(lList); 

DataGridTextColumn textColumn1 = new DataGridTextColumn(); 
DataGridTextColumn textColumn2 = new DataGridTextColumn(); 
DataGridTextColumn textColumn3 = new DataGridTextColumn(); 
textColumn3.MaxWidth = 200; 

textColumn1.Header = "Name"; 
textColumn1.Binding = new Binding("Name"); 
textColumn2.Header = "Type"; 
textColumn2.Binding = new Binding("Type"); 
textColumn3.Header = "Info"; 
textColumn3.Binding = new Binding("Information"); 

dataGrid.Columns.Add(textColumn1); 
dataGrid.Columns.Add(textColumn2); 
dataGrid.Columns.Add(textColumn3); 

Скажем, я хочу, чтобы сделать текст, который заканчивается в textColumn3, чтобы сделать разрыв строки в конце ячейки (которая 200 в ширину). Как мне это достичь? Должен быть простой элемент стиля, который можно установить, не так ли? Я просто не могу его найти.

Справка была бы оценена, спасибо!

ответ

1

Должен быть простой элемент стиля, который можно установить, правильно? Я просто не могу его найти.

Да, вы можете установить свойство ElementStyle столбца (ов) к следующему стилю для текста, чтобы обернуть:

<Style TargetType="TextBlock"> 
    <Setter Property="TextWrapping" Value="Wrap" /> 
</Style> 

Вы можете создать стиль программно с помощью метода XamlReader.Parse:

string xaml = "<Style xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" TargetType=\"TextBlock\"><Setter Property=\"TextWrapping\" Value=\"Wrap\"/></Style>"; 
Style style = System.Windows.Markup.XamlReader.Parse(xaml) as Style; 

DataGridTextColumn textColumn1 = new DataGridTextColumn(); 
textColumn1.ElementStyle = style; 
+0

Спасибо, я предпочитаю программный подход. Он отлично работает! :) TY – Vitriol