Tôi có một vấn đề nhỏ với định dạng hiện tại của số tiền âm của tôi. Đây là ảnh chụp màn hình tiếp tục tình trạng của tôi.Số đơn vị tiền tệ phủ định XAML
- Đây là cách tôi đang sử dụng StringFormat trong kết buộc của mình. (BTW, tôi chỉ cố gắng {0: C})
- Đúng như dự đoán
- Các thiết lập hiện tại của máy tính của tôi cho số tiền âm 4.
- Kết quả khi tôi đang chạy ứng dụng của tôi
Tại sao kết quả không phải là -0,08 $?
Bất kỳ ý tưởng nào về cách tôi nên tiến hành?
Cảm ơn thời gian của bạn.
UPDATE:
Tôi cố gắng để giải quyết vấn đề với bộ chuyển đổi, đây là kết quả:
- tôi thấy rằng các
Thread.CurrentThread.CurrentUICulture
không phải là giống nhưThread.CurrentThread.CurrentCulture
, vì vậy tôi cố định nó trong App.xaml.cs. Thật không may, cùng một kết quả. - Tôi đã cố gắng hiển thị các giá trị của mình thông qua trình chuyển đổi để xem tôi có thể gỡ lỗi được không. Thực tế là văn hóa nhận được trong các tham số của phương pháp
Convert
là không sao, nhưngCurrentNegativePattern
của nó không giống như trongThread.CurrentThread.CurrentCulture
. Đó có lẽ là lý do tại sao tôi có vấn đề này. cho thời điểm này, tôi sẽ sử dụng điều này:return ((double)value).ToString("C2", Thread.CurrentThread.CurrentCulture);
trong phương thứcConvert
của trình chuyển đổi của tôi.
+1 - Không chắc một trong hai, có lẽ bằng cách nào đó liên quan đến văn hóa sử dụng. Có lẽ một cách để xác định rằng trong XAML? http://shujaatsiddiqi.blogspot.com/2010/08/wpf-localization-stringformat-for.html cho thấy làm thế nào để buộc văn hóa hiện tại trong constructor cho cửa sổ - có thể cho rằng một shot cho mục đích gỡ lỗi. –
+1 để ghi đè 'LanguageProperty'; không biết điều đó. –
@ Morgan McDonald-Graham: Thật không may, đây không phải là chính xác những gì tôi đang tìm kiếm. Nhưng cảm ơn về tiền boa ! – esylvestre