質問

たとえば、ダブルを持っています

double d = 4.323d;

そして、Silverlight 4アプリケーションのテキストブロックに表示したいのですが、ディスプレイは次のとおりです。

4.32

そして、私はバインディングのStringFormatを変更することはできません。

例外は、番号がこれである場合です。

double d2 = 4d;

その後、表示する必要があります

4, 、 いいえ 4.00.

そして最悪の例外は、現在のUI文化を考慮に入れる必要があることです。これは、アプリが米国に展開されている場合、 . 小数の個別として、そしてヨーロッパでは使用する必要があります , (英国ではありませんが、ポイントが得られます...)

defaultformatをに設定できます #.## stringformatを変更できたが、cultureinfoを通してそれをしたい

役に立ちましたか?

解決

私はあなたが使用していないためにバインディングでstringformatを使用できないと信じていると想定するつもりです CultureInfo. 。その場合、これら2つの使用法をユーザーコントロールコードに追加します: -

using System.Windows.Markup;
using System.Threading;

そして、これをそのコンストラクターに追加します: -

Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);

今、バインディング StringFormat=#.## 現在の培養に適切な小口分離器を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top