字符串中的粗体文本
本文关键字:文本 字符串 | 更新日期: 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;