首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF DataGridTextColumn MaxLength

WPF DataGridTextColumn MaxLength
EN

Stack Overflow用户
提问于 2018-02-27 17:41:47
回答 1查看 340关注 0票数 0

我有一个带有DataGridTextColumn的DataGrid,我已经将TextBlock.TextWrapping设置为NoWrap。如果我试着显示一行很长很长的行,超过10000个字符,显示就像它比TextBlock.MaxWidth还长。问题是,它会截断后面的任何换行符,并有效地停止显示其他任何内容。如何修复,使MaxWidth更长(我已经将其设置为最大可能),或者至少显示换行符,以便显示以下行。

代码语言:javascript
复制
            <DataGrid Grid.Row="0" Name="LogDataGrid" Margin="0,25,0,0" AutoGenerateColumns="False" VirtualizingPanel.ScrollUnit="Pixel" IsReadOnly="True" FontWeight="Normal" CanUserSortColumns="False" IsTabStop="True" HeadersVisibility="Column">
                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <Setter Property="Foreground" Value="{Binding Color}"/>
                    </Style>
                </DataGrid.RowStyle>
                <DataGrid.CellStyle>
                    <Style TargetType="DataGridCell">
                        <Setter Property="IsTabStop" Value="False"></Setter>
                    </Style>
                </DataGrid.CellStyle>
                <DataGrid.Columns>
                    <DataGridTextColumn Header="DateTime" Binding="{Binding DateTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}" Width="Auto" />
                    <DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="60"/>                       
                    <DataGridTextColumn Header="Text" Binding="{Binding Text}" Width="{Binding Path=WrapText, Mode=OneWay, Source={x:Static p:Settings.Default}, Converter={StaticResource BooleanDataGridLengthConverter}}">
                        <DataGridTextColumn.ElementStyle>
                            <Style>
                                <Setter Property="TextBlock.TextWrapping" Value="{Binding Path=WrapText, Mode=OneWay, Source={x:Static p:Settings.Default}, Converter={StaticResource BooleanTextWrappingConverter}}" />
                            </Style>
                        </DataGridTextColumn.ElementStyle>
                    </DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>

它看起来是如何包装的

当它没有被包装,并且队伍很长的时候

EN

回答 1

Stack Overflow用户

发布于 2018-02-27 18:06:13

我更喜欢使用DataGridTemplateColumn的,因为这样可以更好地控制数据,比如能够设置工具提示。确保内部文本块具有TextWrapping="Wrap“,并且模板列的宽度是您需要的大小。还要确保你在数据网格上没有固定的鼠标右键。

代码语言:javascript
复制
<DataGridTemplateColumn Header="Subject" Width="*">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Subject}" ToolTip="{Binding Subject}" TextWrapping="Wrap"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49005515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档