プロパティに XAML StringFormat を適用しようとしていTimeSpan
ます。
注:この質問はWindows Phoneに適用されます。
WPF の正しい構文は次のとおりです。
Text="{Binding ElapsedTime,StringFormat={}{0:m\\:ss}}"
Silverlight の場合、単一引用符が必要です。
Text="{Binding ElapsedTime,StringFormat='{}{0:m\\:ss}'}"
しかし、Windows Phone の場合、何を試しても、出力は常に完全な「00:00:00.0000000」です。
StringFormat='m\\:ss'
StringFormat='{}{0:m\\:ss}'
StringFormat='m\:ss'
StringFormat=m\\:ss
どういうわけか正しい順列を見逃したのでしょうか、それとも Windows Phone では何らかの理由でこれができないのでしょうか?
アップデート
私は回避策(以下の回答)を使用しましたが、誰かが知っていれば、奇妙さの説明が必要です。(私が「奇妙さ」と言うのは、プロパティではなく、プロパティでStringFormat
完全にうまく機能するからです。)DateTime
TimeSpan
アップデート #2
2010年からの非常によく似た質問。たぶん、これは.Netの古いバージョンや「コンパクト」バージョンの問題です。または、この答え( StringFormat=\{0:h\\:mm\}
) は機能しますか?