سؤال

أحاول إنشاء قابلة لإعادة الاستخدام 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 ومورد الأحرف المقابل. انها عملت بلا عقبة. (هل ننظر الآن إلى مشكلة في مساحة الاسم أو تصادم المكتبة؟)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top