Je suis sûr que cette question ou des dérivés de celui-ci ont été posées un bazillion fois, mais je ne pouvais pas trouver quelque chose qui m'a aidé à résoudre le problème, alors je demande. N'hésitez pas à me diriger vers la copie qui, j'en suis sûr, existe mais que je ne trouve pas. Apparemment, je ne suis pas très bon avec des mots-clés.WPF Modèle de contrôle personnalisé Non appliqué
J'ai un contrôle personnalisé, il a son propre dictionnaire de ressources utilisé uniquement pour définir le modèle de contrôle. Ce dictionnaire est ensuite fusionné en Generic.xaml.
Le problème est que lorsque ce contrôle apparaît dans l'interface utilisateur, il n'a rien à l'intérieur. J'ai utilisé Snoop pour le savoir. Le contrôle est dans l'interface utilisateur, mais il est complètement vide.
Ci-dessous vous trouverez les articles qui, selon moi, sont responsables du problème. Toute aide ou conseil que vous pouvez offrir est grandement apprécié.
Les parties pertinentes de ma structure de dossiers sont comme ceci:
BasicTemplate.xaml:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFSpecBuilder.Layouts.Templates">
<Style TargetType="{x:Type local:BasicTemplate}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:BasicTemplate}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<TextBlock Text="This is a basic template." />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
generic.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Layouts/Templates/XAML/BasicTemplate.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
J'avancerait par principe d'exclusion: Tout d'abord affirmer que votre définition de style ne fait pas partie du problème. Alors, choisissez-le dans votre ResourceDictionary imbriqué et collez-le dans le Generic.xaml (que j'espère que vous référencez dans App.xaml). Après cela montre l'effet désiré, essayez ce que Steve propose (affirmant que votre chemin relatif est réglé correctement) –