2009-11-03 6 views
1

J'ai une classe personnalisée qui étend Control comme ceci:TemplateBinding avec classe personnalisée

class TheCountry : Control 
{ 
//...details 
} 

J'ai cet élément dans mon XAML:

<Canvas x:Name="mainCanvas" Height="768" Width="1536" AllowDrop="False"> 
    <spots:TheCountry Country="Australia" Canvas.Left="1362" Canvas.Top="486" Template="{DynamicResource TheCountryIcon}" /> 
</Canvas> 

Et dans mes ressources, j'ai le modèle:

<UserControl.Resources> 
    <ControlTemplate x:Key="TheCountryIcon" TargetType="{x:Type spots:TheCountry}"> 
     <Grid Width="35" Height="35"> 
      <Image Source="{TemplateBinding Property=CountryImagePath}" Width="35" Height="35" AllowDrop="True"/> 
     </Grid> 
    </ControlTemplate> 
</UserControl.Resources> 

et j'ai la propriété appelée CountryImagePath dans dépendance mon TheCountry cours, mais lorsque je lance mon application, l'image n'apparaît pas.

J'ai même mis un point d'arrêt sur le getter dans la propriété de dépendance, et il n'est pas touché. Comment puis-je réparer ça?

Répondre

1

Les points d'arrêt dans les propriétés de dépendance ne fonctionnent pas réellement - WPF ignore le getter et le setter une fois la liaison établie. Jetez un oeil à ce poste de Bea Stollnitz pour quelques conseils pour les liaisons de débogage:

How can I debug WPF bindings?

Ce que vous faites me semble raisonnable. Êtes-vous certain que "CountryImagePage" est correctement défini?

+0

Ouais Im assez certain, Ill regarder dans ces techniques de débogage, merci – Mark

Questions connexes