Comment puis-je accéder à un élément d'un modèle de contrôle à partir de code-behind
J'essaye d'accéder à un contrôle utilisateur qui est à l'intérieur du modèle de contrôle d'un contrôle de contenu. Plus précisément:
<ContentControl x:Name="MyList" >
<ContentControl.Template>
<ControlTemplate x:Name="MyControlTemplate">
<Border RenderTransformOrigin="0,0" x:Name="border">
<UserControls:MyControl x:Name="MyControlName" Width="100" ViewModel="{Binding}" />
Je peux accéder à ce.MyList mais il dit cela.MyControlName n'est pas trouvé. Comment puis-je accéder à la MyControlName objet à partir de code-behind dans cette situation?
Merci!
- J'ai le sentiment que vous devriez plutôt dire ce que vous essayez d'atteindre, les chances sont que vous n'avez pas à faire ce que vous demandez.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour obtenir le modèle et rechercher le contrôle par le nom de la basé sur un modèle de contrôle, quelque chose comme:
Modèles sont ce qu'ils sont: les descriptions Abstraites de ce qui est créé, les contrôles dans les modèles n'existent que dans le contexte de quelque chose qui est basé sur un modèle.
Noter que vous ne devriez jamais avoir accès aux éléments à l'intérieur d'un modèle de contrôle si vous êtes à la création de la commande que le modèle est pour. L'accès depuis l'extérieur doit être fait par le biais lié à des propriétés et des méthodes.
Pour des modèles de données de ceci est similaire. Toutes les choses que vous devez accès doit être lié à un objet et l'accès devrait ensuite être par le biais de l'objet. Cela est particulièrement vrai dans les cas de contrôles d'éléments qui virtualiser leurs éléments, de sorte que les éléments n'existent même pas, la plupart du temps.
U peut également obtenir le contrôle de chaque modèle par l'ajout d'événement Chargé de contrôler, puis dans le code affecter l'expéditeur de l'événement à une variable.