استثناء مع نظام النوع: شار
-
27-09-2019 - |
سؤال
أحاول إنشاء قابلة لإعادة الاستخدام System:Char
القيمة في بلدي xaml
مصادر.
أملك:
xmlns:s="clr-namespace:System;assembly=mscorlib"
ثم:
<s:Char x:Key="MaskPromptChar">#</s:Char>
أحصل على استثناء:
The type 'Char' was not found. [Line: 8 Position: 44]
لكن ... لدي أيضًا:
<s:Double x:Key="DefaultControlWidth">200</s:Double>
و...
<s:String x:Key="ApplicationTitle">My Title</s:String>
كلاهما String
و Double
عمل جيد.
الأفكار ؟؟
المحلول
هذا الرمز يعمل بالنسبة لي في كل من Silverlight و WPF.
<UserControl.Resources>
<sys:Double x:Key='myDouble'>4</sys:Double>
<sys:Char x:Key='myChar'>#</sys:Char>
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot">
<PasswordBox Password='aaa'
PasswordChar='$' />
<PasswordBox Password='aaa'
PasswordChar='{StaticResource myChar}' />
</StackPanel>
ما الخاصية التي تحاول تعيين char لها؟
نصائح أخرى
أظن أن هذا شار هيكل, ، بدلاً من كائن ، وما الذي تنظر إليه حقًا هو ملاكمة قيمة عدد صحيح 16 بت تمثل Unicode. أميل إلى النظر إلى XAML كسلسلة تخصص من أشياء, ، وإذا كان char في الواقع أ بنية, ، قد ينهار هذا النموذج.
قد ترغب في التفكير في عض الرصاصة واستخدام سلسلة من الطول بدلاً من ذلك.
تحديث: أنا أتفق مع خط التفكير الصلب لـ GMCALAB ، وبناءً على تلك التجربة باستخدام مساحة اسم إلى MSCORLIB ومورد الأحرف المقابل. انها عملت بلا عقبة. (هل ننظر الآن إلى مشكلة في مساحة الاسم أو تصادم المكتبة؟)