我在.NET 4中使用具有DataGridTextColumn的WPF DataGrid控件。
我希望能够输入多行文字。 将数据绑定到列时,换行符的格式正确,但在编辑文本时我找不到创建换行符的方法。
<DataGrid ItemsSource="{Binding MyMessages}">
<DataGrid.Columns>
<DataGridTextColumn Header="Message" Binding="{Binding Path=Message}" Width="Auto"/>
<DataGrid.Columns>
</DataGrid>
有什么建议吗?
答案 0 :(得分:27)
尝试:
<DataGridTextColumn Header="Message" Binding="{Binding Path=Message}" Width="Auto">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="AcceptsReturn" Value="true" />
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
答案 1 :(得分:0)
xmlns:wtk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
<DataTemplate x:Key="dataGridMultiLineTextBoxTemplateColumn" DataType="your data type">
<wtk:MultiLineTextEditor
x:Name="MultiLineTextBox"
Width="300"
Margin="2"
Padding="5,0,0,0"
FontSize="12"
FontWeight="Normal"
Foreground="Black"
IsSpellCheckEnabled="True"
Text="{Binding your binding property, Mode=TwoWay, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap" />
</DataTemplate>
&#13;
扩展的WPF工具包MultiLineTextEditor将提供您所需的功能。 Extended WPF Toolkit MultiLineTextEditor