Я пытаюсь создать простой DataGrid в бете Silverlight 4, но, может казаться, не выясняю, как получить мой Note
столбец к переходу на новую строку.
Таблица представляет примечания, сделанные на порядке, таким образом, они будут иметь переменную длину. я хочу, чтобы ячейка 'Примечания' расширилась вертикально для установки содержанию.
Я нашел многочисленные подобные вопросы, но никакой ответ. Действительно ли там что-то является новым в Silverlight 4, который обратится к этому?
<data:DataGrid AutoGenerateColumns="False" Name="dataGrid1" IsReadOnly="True">
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Date" Binding="{Binding Date}" />
<data:DataGridTextColumn Header="User" Binding="{Binding User}" />
<data:DataGridTextColumn Header="Note" Binding="{Binding Note}" />
</data:DataGrid.Columns>
</data:DataGrid>
Используйте DataGridTemplateColumn вместо текстового столбца. Имейте там TextBlock с TextWrapping, установленным на true:
<data:DataGrid x:Name="LayoutRoot" AutoGenerateColumns="False" IsReadOnly="True" RowDetailsVisibilityMode="Visible" >
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Date" Binding="{Binding Date}" />
<data:DataGridTextColumn Header="User" Binding="{Binding User}" />
<data:DataGridTemplateColumn Header="Note" Width="100">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding Note}" />
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
Я использую ElementStyle, чтобы установить текст обертывания, и он работает хорошо. Счастливое кодирование!
<Style x:Key="DataGridTextColumnStyle" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
<data:DataGridTextColumn Binding="{Binding DESC}"
Header="Short Description"
HeaderStyle="{StaticResource DataGridHeaderStyle}"
ElementStyle="{StaticResource DataGridTextColumnStyle}" >
</data:DataGridTextColumn>