问题描述
|
我正在.NET 4中使用具有DataGridTextColumn的WPF DataGrid控件。
我希望能够输入多行文字。
当我将数据绑定到列时,换行符的格式正确,但是我发现编辑文本时无法创建换行符。
<DataGrid ItemsSource=\"{Binding MyMessages}\">
<DataGrid.Columns>
<DataGridTextColumn Header=\"Message\" Binding=\"{Binding Path=Message}\" Width=\"Auto\"/>
<DataGrid.Columns>
</DataGrid>
有什么建议么?
解决方法
尝试:
<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>
,
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\"
FontSize=\"12\"
FontWeight=\"Normal\"
Foreground=\"Black\"
IsSpellCheckEnabled=\"True\"
Text=\"{Binding your binding property,Mode=TwoWay,NotifyOnTargetUpdated=True,NotifyOnSourceUpdated=True,UpdateSourceTrigger=PropertyChanged}\"
TextWrapping=\"Wrap\" />
</DataTemplate>