字符串中的粗体文字

时间:2012-01-23 20:07:25

标签: c# .net wpf .net-4.0

我有DataTabletypeof(string)。我正在为此表添加字符串,我需要以粗体显示一些文本。我的字符串看起来像这样:

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

是否可以将此代码中的user.Name加粗?

我使用的是.NET 4.0和WPF。

5 个答案:

答案 0 :(得分:4)

字符串只是文本,如果你想格式化文本你有多种方法这样做但我不知道任何“本机”。例如使用user.Name周围的XML标记将格式编码为文本,然后某些控件可以使用它来显示它以调整渲染。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

使用DataGridRow在DataGrid中标记文本:WPF DataGrid Example

<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>

link还显示了如何加粗StackPanel TextBlock。

答案 3 :(得分:1)

我99%确定你只能设置DataTable的列,而不是其中的数据。

答案 4 :(得分:1)

这在哪里显示?

这是一个纯文本连接字符串,您尝试使用粗体,是HTML,还是您希望IDE中代码的user.Name部分显示为粗体?

如果是纯文本,那么你无能为力。如果用星号(*)包围某些电子邮件客户端中的字符串将显示为粗体。

对于HTML,您可以用CSS或强/粗标记包围user.Name:

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;