Tôi có thể khai báo số nguyên hoặc giá trị kép trong xaml. Tuy nhiên, tôi không thể thêm giá trị thập phân. Nó xây dựng ok, nhưng sau đó tôi nhận được:Làm thế nào để khai báo một giá trị thập phân trong XAML?
System.Windows.Markup.XamlParseException: Loại 'thập phân' không phải là được tìm thấy.
Dưới đây là các mã XAML:
<UserControl.Resources>
<system:Int32 x:Key="AnIntValue">1000</system:Int32><!--Works!-->
<system:Double x:Key="ADoubleValue">1000.0</system:Double><!--Works!-->
<system:Decimal x:Key="ADecimalValue">1000.0</system:Decimal><!--Fails at runtime-->
</UserControl.Resources>
Đây là cách tôi đang tuyên bố không gian tên hệ thống:
xmlns:system="clr-namespace:System;assembly=mscorlib"
Edit: Cách giải quyết: Như Steven nói, thêm các nguồn lực thông qua code-behind có vẻ hoạt động tốt:
Resources.Add("ADecimalValue", new Decimal(1000.0));
Chỉnh sửa: Trả lời: Làm chính xác điều tương tự trong WPF có vẻ hoạt động tốt. Vì vậy, tôi đoán đây là một hạn chế bạc mờ ẩn. Nhờ Steven cho phát hiện này.
Bạn tr ying để sử dụng tài nguyên này trong xaml? –
Tôi sử dụng nó trong một tham số chuyển đổi cho một ràng buộc. Tôi tham khảo nó như một nguồn tài nguyên tĩnh. – alf