WPF - Obtention d'une valeur de propriété à partir d'un chemin de liaison
si j'ai un objet à dire appelé MyObject, qui a une propriété appelée MyChild, qui lui-même a une propriété appelée Nom. Comment puis-je obtenir la valeur de la propriété Name si tout ce que j'ai est un chemin de liaison (c'est à dire "MyChild.Name"), et une référence à MyObject?
MyObject
-MyChild
-Name
source d'informationauteur devdigital | 2010-08-26
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une façon de le faire, mais c'est assez moche et probablement pas très rapide... en gros, l'idée est de créer une liaison avec le chemin d'accès donné et de l'appliquer à une propriété d'un objet de dépendance. De cette façon, la liaison fait tout le travail de récupération de la valeur:
J'ai développé un package nuget Pather.CSharp qui fait exactement ce dont vous avez besoin.
Il contient une classe
Resolver
qui a unResolve
méthode qui se comporte comme @ThomasLevesque deGetValue
méthode.Exemple:
Il prend même en charge accès à une collection par index ou dictionnaire accès via clé.
Exemples de chemins d'accès sont:
pas sûr de ce que vous voulez faire mais et comment xaml (ou code) mais vous pouvez toujours le nom de votre objet
un puis l'utiliser dans le code
ou en xaml
Je le fais de cette façon. S'il vous plaît laissez-moi savoir si cela est une idée terrible, comme le C# est juste un travail pour moi, donc je ne suis pas un expert objectToAddTo est de type ItemsControl: