首先我使用WPF和DataGrid,因为我想要列标题.但是,如果有一种方法可以执行此操作并且仍然具有列标题,则我与此解决方案没有结合.
现在我已经做了一些广泛的搜索并尝试了通过谷歌搜索找到的各种解决方案,但这些解决方案似乎都不起作用或者没有直接针对我所遇到的问题,而且似乎也没有可翻译.
*我尝试了以下方法:
<Style TargetType="DataGridCell" x:Key="LeftColumnStyle">
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Left"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
</Style>
<DataGridTextColumn Header="Comments" HeaderStyle="{StaticResource LeftHeaderStyle}" CellStyle="{StaticResource LeftColumnStyle}" Binding="{Binding Path=Comments, UpdateSourceTrigger=PropertyChanged}" Width="250" />
Run Code Online (Sandbox Code Playgroud)
*但包装不起作用 - 所以我尝试了以下方法:
<DataGridTextColumn Header="Comments" HeaderStyle="{StaticResource LeftHeaderStyle}" Binding="{Binding Path=Comments, UpdateSourceTrigger=PropertyChanged}" Width="250" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
<Setter Property="TextBlock.TextAlignment" Value="Left"/>
<Setter Property="TextBlock.FontSize" Value="14"/>
<Setter Property="TextBlock.Width" Value="250"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)
*列包装但不自动调整高度,因此它似乎只是截断
我尝试将Textblock直接放在DataGridTextColumn中并将数据绑定到Textblock,但DataGridTextColumn给出一个错误,指出它不支持直接内容.
所以简而言之,我试图将包含文本超出预设单元格宽度的列进行自动换行(我有不止一个 - 描述和注释以及其他5个不包装的单元格,因为它们永远不会超过预设单元格宽度)但是我似乎无法获得相应调整的高度.如果其中一个/两个包装列需要更多的高度,就像在excel电子表格中发生的那样,我可以将所有列的高度扩展为一行,但我甚至无法在自动换行时使特定列扩展.提前致谢.
NAJ*_*NAJ 13
我今天早些时候遇到了同样的问题并通过以下方式解决了
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
</Style>
</DataGridTextColumn.ElementStyle>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8427 次 |
| 最近记录: |