0

WindowsPhoneアプリケーションのDateTimeプロパティからTextBlockにのみDayを表示したいのですが、次のコードを使用して、TextBlockにDayを表示します。

<TextBlock Text="{Binding SelectedValue,StringFormat='dd'}"
           FontWeight="Bold"/>

しかし、1日目を選択すると、01のように表示されますが、 1のように表示されます。 を使用してこれを行う方法はありますかStringFormat

これは、コンバーターを使用しなくても、100%xamlコードを使用して実現する必要があると思います。

4

1 に答える 1

3

フォーマット文字はd、先行ゼロのない月の日を指定します。dただし、標準の日付形式の文字列として解釈されないようにするには、他に何か(何か)が必要です。1つの方法は、その前に空の文字列String.Format(DateTime.Today, "''d")を付けることです。14と表示されます。XAMLでは、一重引用符をエンコードする必要があります。WPFでテストする場合、エスケープの問題により、最も外側の引用符と同じ引用符で動作させる方がはるかに簡単であることがわかります。

<TextBlock Text="{Binding SelectedValue,StringFormat='d&quot;&quot;'}"
       FontWeight="Bold"/>

編集:おそらく、よりクリーンで簡単な方法は、日付にまったくバインドしないで、月の日に直接バインドすることです:

<TextBlock Text="{Binding SelectedValue.Day}"
       FontWeight="Bold"/>
于 2012-07-14T13:07:34.963 に答える