字符串中的粗体文本

本文关键字:文本 字符串 | 更新日期: 2023-09-27 18:21:06

我有一个列为typeof(string)DataTable。我正在向这个表添加字符串,我需要用粗体显示一些文本。我的字符串是这样的:

row["UserData"] = user.Name + "'n" + user.Description + "'n" + user.Number + "'t" + user.Date;

这个代码中的user.Name可以加粗吗?

我使用的是.NET 4.0和WPF。

字符串中的粗体文本

字符串只是文本,如果你想格式化文本,你有多种方法,但我不知道任何"原生"的东西。例如,使用user.Name周围的XML标记将格式编码为文本,然后可以由显示该文本的某个控件使用该文本来调整呈现。

DataTable只是一个数据存储,它不控制数据的显示。将ListView或其他WPF控件绑定到DataTable时,可以将控件的列设置为粗体显示其中一列文本。

使用DataGridRow在DataGrid中加粗文本:WPF DataGrid示例

<Style x:Key="RowStyle" TargetType="{x:Type dg:DataGridRow}">
    <Setter Property="ValidationErrorTemplate">
        <Setter.Value>
            <ControlTemplate>
                <Grid>
                    <Ellipse Width="12" Height="12"
                        Fill="Red" Stroke="Black"
                        StrokeThickness="0.5"/>
                    <TextBlock FontWeight="Bold" Padding="4,0,0,0"
                        Margin="0" VerticalAlignment="Top" Foreground="White" Text="!"
                        ToolTip="{Binding RelativeSource={RelativeSource
                                 FindAncestor, AncestorType={x:Type dg:DataGridRow}},
                                 Path=(Validation.Errors)[0].ErrorContent}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

此链接还显示如何用粗体显示StackPanel文本块。

我99%确信您只能对DataTable的列进行样式设置,而不能对其中的数据进行样式设置。

这在哪里显示?

这是一个纯文本连接字符串,您试图将其加粗,是HTML,还是您想要用户。将IDE中的代码部分命名为粗体?

如果是纯文本,你就没什么可做的了。如果你用星号(*)包围字符串,在一些电子邮件客户端中显示字符串会显示为粗体。

对于HTML,您可以围绕用户。使用CSS或strong/bold标记的名称:

row["UserData"] = "<strong>" + user.Name + </strong>" + "'n" + user.Description + "'n" + user.Number + "'t"  + user.Date;

row["UserData"] = "<span style='font-weight: bold;'>" + user.Name + "</span>" + "'n" + user.Description + "'n" + user.Number + "'t" + user.Date;