Załóżmy, że mam numer 1234567.89. Liczba jest wyświetlana w ramce tekstowej WPF. Staram się stosować StringFormat
atrybut do właściwości Text
tak, że numer zostanie wyświetlony jak:Zmiana domyślnego separatora tysięcy i dziesiętnego w powiązaniu
1.234.567,89
Jak widać, tysiąc i separatory dziesiętne są odwrócone od specyfikacji kultury niezmienny.
Próbowałem ustawić wiele kombinacji dla StringFormat
, ale bez powodzenia. To jest najnowszy, który wymyśliłem:
Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}"
Ale wynik jest niepoprawny. Ponadto używanie opcji N2
lub zmiana kultury nie jest opcją. Chciałbym unikać konwerterów, jeśli to możliwe.
Czy istnieje sposób zmiany domyślnych separatorów za pośrednictwem XAML?
myślę on próbuje zrobić wszystkie rzeczy w XAML, i nie widzę, jak można to zrobić bez użycia jakiegoś C# w miejscu, przynajmniej w formie niestandardowego konwertera. – Woodman
Kombinacja 'StringFormat = N2, ConverterCulture = de' stworzy pożądane wyjście bez dodatkowego kodu. – Clemens
@Clemens dzięki za komentarz. Nie mogę przetestować kodu, to była moja sugestia –