كيفية جعل محتوى XAML فضفاضًا على دراية بعناصر تحكم مخصصة

StackOverflow https://stackoverflow.com/questions/4250282

  •  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" خلال اليومين المقبلين. هذا الوضع برمته يبدو رطبًا بعض الشيء ، لذلك سأكون مهتمًا حقًا بالبدائل.

شكرًا :)

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