0

Generationという名前のnull可能なフィールドがデータベースにあります。「Jr.」「II」などを指定します。クライアントの世代がnullでない場合は条件付きで指定し、それ以外の場合はまったく表示しないようにする手段が必要です。私は次のことがうまくいくと思いました:

<TextBlock Text="{Binding LastName}" />
<TextBlock Text="{Binding Generation, StringFormat= {0}}" />
<TextBlock Text=", " />

ただし、「Windows Presentation Foundation (WPF) プロジェクトでは 0 はサポートされていません」というエラーが表示されます。フィールド値 Generation は varchar フィールドです。TextBlock クラスの StringFormat 属性を使用して、必要なことを実行できますか? または、コンバーターを使用する必要がありますか?

4

1 に答える 1

0

これを次のように記述する必要があります。

<TextBlock Text="{Binding Generation, StringFormat={}{0}}" />

これは、 に特別な意味を与えるマークアップ拡張を使用する性質によるもの{}です。これを先頭に追加すると (最初の書式指定子の前にテキストがない場合)、@C# で文字列リテラルを処理するために使用される方法と同様に、文字列書式指定を "エスケープ" する効果があります。

于 2013-03-14T15:33:55.473 に答える