كيفية جعل محتوى XAML فضفاضًا على دراية بعناصر تحكم مخصصة
-
27-09-2019 - |
سؤال
لدي ملف xaml فضفاض ...
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
... أريد تحميلها في وقت التشغيل. عندما أحصل على استثناء يوضح ، "لا يمكن لـ Type Reference العثور على النوع العام المسمى" CustomControl "." كيف يمكنني جعل XAML فضفاضة على دراية بمساحةتي؟
أنا بحاجة إلى استخدام HoverOpacity
وهي خاصية تبعية CustomControl
. فيما يلي الرمز الذي أستخدمه حاليًا لتحميل XAML:
var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));
XamlReader.Load(resource.Stream);
راجع للشغل ، أدرك أن XAML بسيط ويمكنني فقط إدخال Style
في الكود ، ولكن هذا هو Hello World Xaml ؛ ستصبح أكثر تعقيدًا ، تتضمن الرسوم المتحركة وما شابه.
PS حل آخر سيكون وسيلة إما لتوصيل ملف XAML بعنصر تحكم مخصص مشتق من لوحة (واحد لا يصطدم في Visual Studio 2008) أو وسيلة لتوصيل المشغلات بسهولة ، وعيوب البيانات ، والإجراءات ، وإجراءات الخروج لعناصر التحكم المخصصة.
المحلول
يا إلهي الرتق ، لقد اكتشفت ذلك. كنت بحاجة إلى تحديد اسم التجميع مع مساحة الاسم ؛ مثل ذلك:
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace;assembly=MyAssembly"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
سأعطي الإجابة رصيدًا لأي شخص يمكنه الإجابة على سؤال "PS" خلال اليومين المقبلين. هذا الوضع برمته يبدو رطبًا بعض الشيء ، لذلك سأكون مهتمًا حقًا بالبدائل.
شكرًا :)