J'ai un contrôle utilisateur WPF avec une zone de liste. Je veux passer l'élément sélectionné dans la zone de liste au contrôle appelant via la liaison. Comment puis-je atteindre cet objectif?Passage de la sélection du contrôle utilisateur WPF au contrôle de l'hôte
2
A
Répondre
1
Vous pouvez exposer une nouvelle propriété pour SelectedItem sur votre contrôle utilisateur et la lier au contrôle ListBox enfant.
code pour votre contrôle utilisateur (I hérité de contrôle bien):
public class CustomListControl : Control
{
static CustomListControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomListControl), new FrameworkPropertyMetadata(typeof(CustomListControl)));
SelectedItemProperty = ListBox.SelectedItemProperty.AddOwner(typeof(CustomListControl));
}
public static readonly DependencyProperty SelectedItemProperty;
public Object SelectedItem
{
get { return this.GetValue(SelectedItemProperty); }
set { this.SetValue(SelectedItemProperty, value); }
}
}
Et ajouter la liaison de la zone de liste intérieure à votre UserControl dans le balisage generic.xaml:
<ListBox
SelectedItem="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type local:CustomListControl},Mode=FindAncestor},Path=SelectedItem, Mode=TwoWay}"
</ListBox>
Questions connexes
- 1. Passage du contenu au contrôle utilisateur ASP.NET
- 2. Passage de DataContext au contrôle utilisateur dans WPF
- 3. Passage du contrôle utilisateur WPF à la fenêtre?
- 4. Passage reportparameter array au contrôle utilisateur Web
- 5. Passage de listes génériques à un contrôle utilisateur WPF
- 6. WPF - Contrôle utilisateur animé
- 7. Contrôle utilisateur WPF parent
- 8. Contrôle utilisateur wpf
- 9. Contrôle utilisateur WPF
- 10. DataContext du contrôle utilisateur WPF est nul
- 11. WPF Lier les coordonnées du contrôle utilisateur
- 12. Contrôle de substitution au niveau de contrôle utilisateur?
- 13. WPF préselection RadioButton contrôle utilisateur
- 14. Problème de liaison de contrôle utilisateur WPF?
- 15. Styles de blocage de contrôle utilisateur wpf
- 16. comment appeler WPF contrôle utilisateur de WinForm
- 17. asp.net passage variable de chaîne à un contrôle utilisateur
- 18. Le contrôle utilisateur hérite du contrôle personnalisé
- 19. Passage de paramètres à un nouveau sous-contrôle utilisateur
- 20. Ajout de propriétés au contrôle WPF personnalisé?
- 21. Passage du pointeur 32 bits au contrôle COM 64 bits
- 22. Limiter la taille d'un contrôle utilisateur au moment du design
- 23. Wpf contrôle la taille au contenu?
- 24. Réglage WPF propriétés de contrôle imbriqué du contrôle parent
- 25. accéder contrôle html dans la page du contrôle utilisateur Web
- 26. Réinitialiser la sélection du contrôle wx.lib.calendar.Calendar?
- 27. comment libérer de la mémoire (contrôle utilisateur)
- 28. Comment la taille de l'échelle relative du contrôle utilisateur?
- 29. Problème de déploiement du contrôle utilisateur SharePoint
- 30. Accéder à la valeur de contrôle utilisateur WPF
Vous voulez dire le transmettre au contrôle parent dans lequel réside votre contrôle utilisateur? Utilisez-vous MVVM? Comment remplissez-vous votre zone de liste? S'il vous plaît fournir autant de détails que possible et du code (xaml dans votre usercontrol), il sera facile de vous fournir une réponse correcte. – akjoshi
Oui, j'espère que vous utilisez une forme de MVVM ou une variante de modèle de présentation, donc vous pouvez lier votre liste de contrôle utilisateur SelectedItem à une propriété du modèle, qui est ensuite exposée à votre contrôle parent (qui s'y connecte). –