Question

J'ai un fichier XAML lâche ...

<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>

... que je veux charger à l'exécution. Quand je ne je reçois une exception indiquant, « référence type ne peut pas trouver le type public nommé « CustomControl ». » Comment puis-je faire le XAML lâche au courant de mon espace de noms?

Je dois utiliser HoverOpacity qui est une propriété de dépendance de la CustomControl. Voici le code que je suis actuellement en utilisant pour charger le XAML:

var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));

XamlReader.Load(resource.Stream);

BTW, je me rends compte que le XAML est simple et je ne pouvais tout simplement insérer le Style dans le code, mais ceci est un monde bonjour XAML; sa va devenir beaucoup plus complexe, impliquant des animations et autres.

P.S. Une autre solution serait un moyen soit attacher un fichier XAML à un contrôle personnalisé dérivé du panneau (qui ne tombe pas en panne Visual Studio 2008) ou un moyen d'attacher facilement les déclencheurs, les données-déclencheurs, entrée-actions, et les actions de sortie de contrôles personnalisés.

Était-ce utile?

La solution

Mon Dieu bon sang, je compris. Je avais besoin de spécifier le nom de l'assemblage avec l'espace de noms; comme ceci:

<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>

Je vais donner crédit à la réponse à tous ceux qui pourraient répondre à ma « post-scriptum » question dans les deux prochains jours. Cette situation semble tout un peu humide, donc je serais vraiment intéressé par des solutions de rechange.

Merci:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top