2012-01-23 20 views
1

typeof(string)DataTableがあります。私はこのテーブルに文字列を追加しています。テキストを太字にする必要があります。私の文字列は次のようになります:太字の文字列

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

このコードの太字は太字にすることはできますか?

私は.NET 4.0とWPFを使用しています。

+2

いいえ、複雑な書式設定にはリッチテキストボックスを使用する必要があります。 – 0x4f3759df

答えて

4

文字列は単なるテキストです。複数の方法でテキストを書式設定する場合は、「ネイティブ」なのは分かりません。例えばuser.NameのXMLマークアップを使用して、書式設定をテキストとしてエンコードします。このコントロールは、レンダリングを調整するために表示されるコントロールによって使用されます。

1

DataTableの列のみをスタイルすることができます。その中のデータは使用できません。

3

DataTableは単なるデータストアであり、データの表示を制御しません。 ListViewまたは他のWPFコントロールをDataTableにバインドすると、列のテキストの1つを太字で表示するようにコントロールの列のスタイルを設定できます。

1

これはどこに表示されていますか?

太字にするプレーンテキストの連結文字列ですか、それともHTMLであるか、IDEのコードの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; 
+0

私のWPFアプリケーションのユーザーインターフェイスに表示しています。私の文字列はxaml.csファイルで定義されています。私はこの文字列の一部だけを大胆にしたい - これは名前で。 – Marta

2
DataGrid内

太字テキスト使っDataGridRow:

はHTMLについて、あなたはCSSや強い/太字タグのいずれかでuser.Nameを囲むことができ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を太字にする方法も示しています。