2009-09-30 8 views
0

J'ai un contrôle utilisateur Silverlight qui n'a pas de modèle et n'en a pas besoin car c'est simplement un chemin avec un RectangleGeometry qui est redimensionné par le code. Maintenant, notre conçu a ajouté un modèle à l'info-bulle du chemin et je veux être en mesure de fournir une méthode pour les utilisateurs du contrôle pour modifier la mise en page d'une partie de ce modèle. Si le modèle faisait partie d'un modèle global pour le contrôle, je pourrais simplement remplacer la méthode OnApplyTemplate du contrôle et récupérer une référence à la section que je veux modifier. Mais comme le contrôle n'a pas de modèle, la méthode surchargée dans le code-behind du contrôle n'est jamais appelée.Méthode de substitution d'un élément dans un UserControl XAML?

Existe-t-il un moyen de contourner la méthode OnApplyTemplate pour l'élément modélisé dans le code du contrôle derrière?

Répondre

1

Quelle est la classe de base. Vous ne pouvez pas remplacer OnApplyTemplate si la classe sous-jacente ne prend pas en charge les modèles. Je pense que vous feriez mieux de simplement changer le style de l'info-bulle lorsque la valeur est définie (comme il est peu probable qu'elle apparaisse de toute façon).

Quelle est la raison pour laquelle vous ne pouvez pas faire GetTemplateChild lorsque le chemin d'accès change? Cela devrait être assez tard dans la vie.

+0

C'est un chemin. J'ai posté une reformulation de cette question, ainsi qu'une partie du code here

Questions connexes