0

Silverlight のデータ バインディングで文字列形式を使用しようとしていますが、'{' 文字が文字列形式の最初の文字である場合、プロジェクトはビルドに失敗します。

前にスペースを追加すると、コードを作成して必要なものを表示できますが、最初のスペースを削除したいと思います。

<TextBlock Grid.Column="0"
           Grid.ColumnSpan="2"
           Grid.Row="11"
           Margin="2">
    <TextBlock.Text>
        <Binding ElementName="_DateTypes" 
                 Path="SelectedItem"
                 StringFormat=" {0}'s Ago "/>
        </TextBlock.Text>
    </TextBlock>

私は次のことを試しました

StringFormat=" {0}s Ago "
StringFormat="\{0}s Ago "
StringFormat="/{0}s Ago "
StringFormat="%s's Ago "

文字列がDayの場合、次の結果が得られます

 Days Ago
\Days Ago
/Days Ago
Day
4

2 に答える 2

2

これがどのように、またはなぜ機能するのかわかりませんが、前に追加するだけです{}

StringFormat="{} {0}'s Ago "

{(通常、属性を で開始することはバインディング式を示すため、これは単なる構文上の回避策だと思います。)

于 2012-11-20T17:50:34.717 に答える
0

そうあるべきだと思う

StringFormat="\{0\}s Ago "

2 つの記号のエスケープ

于 2012-11-20T18:02:53.243 に答える