Alors j'ai suivi plusieurs questions sur le site et je ne peux pas sembler trouver la réponse.
J'ai un maintenant, quand je sélectionne Un article de ma liste (qui est une collection de Pocos), il affiche l'espace de noms et le nom de la classe au lieu de la valeur qu'il est censé. P> Mes recherches et mes expérimentations m'ont amené à croire que le problème est que le problème est que Mon nouveau modèle n'utilise pas la propriété J'ai aussi On voit que les gens définissent le existe un moyen d'utiliser le Combobox code>. Cela fonctionnait bien. Je décide de rétablir l'apparence, donc je crée une copie du modèle ComboBox par défaut (ceci est une copie droite, aucune modification): p>
displaymemberpath code>. J'ai essayé de définir un
itemtemplate code> en remplaçant la méthode
OndisplayMemberpathchanged code>, mais cela entraîne des erreurs lorsque je sélectionne un élément de la liste. P>
itemtemplate code> via xaml, mais j'ai des centaines de combogoxes, et je ne veux pas faire ça. p>
displaymemberpath Code> Propriété de My ControlTemplate ou du code que je pourrais exécuter dans un contrôle dérivé pour obtenir le résultat souhaité? P> P>
5 Réponses :
J'ai eu le même question , et il éteint le réglage du Pour cette raison, lorsque vous définissez le displaymemberpath code> est simplement un Raccourci pour régler le
itemTemplate code> sur un
textblock code> avec cette valeur dedans. p>
itemTemplate code>, alors
displaymemberpath code> devient inutile car vous avez écrasé le texte texte par défaut avec une valeur ajoutée. P>
Vérifiez la réponse ci-dessus. J'ai vu votre problème dans une question connexe, mais la solution ci-dessus fonctionne pour moi! Merci quand même si :)
J'ai utilisé la solution par h.B. Mais conséquence à cette réponse, essayant contenttemplate = "{templatebinding itemTemplate}" code> a également fonctionné - bien que je ne parvenais pas à laisser cela assez longtemps pour tester les effets secondaires.
c'est pas em> une copie exacte, une chose cruciale est manquante dans cet élément: peut-être que vous l'avez accidentellement supprimé, à savoir: P> < Pré> xxx pré> Si vous ne disposez pas de cet ensemble, le displaymemberpath code> ne fonctionnera pas car le
comboBox code> sélectionne entre les modèles à l'aide d'un sélecteur de modèle (comme vous le pouvez Utiliser
itemTemplate code> ou
displaymemberpath code>). p> p>
Mec! Cela a totalement travaillé. Je n'ai jamais vu cette solution cependant, et je suis 100% positif, il n'a jamais été généré. J'ai fait ce processus 3 ou 4 fois et j'ai vérifié des scores de personnes ayant le même problème. Cela doit totalement être un bogue sur le côté de Microsoft ... merci!
Maintenant que la joie s'est apaisée, je dois demander comment vous avez compris cela. Qu'utilisez-vous pour générer des copies de modèle?
@CamronBute: Eh bien, j'ai toujours les modèles par défaut que vous pouvez obtenir sur MSDN < / a> ( Thèmes WPF par défaut CODE> LINK) à portée de main, je l'ai donc vérifié pour voir comment les choses sont liées. Il n'est pas difficile de voir que ce
contentpresenter code> est le composant clé de l'élément sélectionné afin que s'il y a une erreur, il faut y être là, alors je dois juste le comparer avec le vôtre pour voir que cette propriété manquait. J'ai également testé l'effet de supprimer ce bien moi-même et, comme prévu, il n'a montré que le nom de type.
Je n'ai jamais vu ce lien auparavant. J'ai toujours utilisé mélange. Merci pour votre aide et le lien!
Je peux confirmer que le mélange "Copie modèle" a cette quirk, même en VS2012.
La même chose s'est produite avec vs 2015
Dans ma situation, j'avais le modèle de boîte déroulante correct, mais les articles contenant des éléments manquaient l'associateur de contenu. Assurez-vous de vérifier la réponse ci-dessous.
J'ai rencontré le même problème, cela devrait être un bug, je vais essayer de le signaler. P>
Lorsque vous "modifier une copie" du modèle de contrôle de Visual Studio, il manque la ligne: p>
ContentTemplateSelector = "{MODPLATELLOW ItemTemplateSelector}" P>
qui a provoqué "DisplayMemberPath" ne fonctionne pas correctement. P>
Je sais que c'est une ancienne question, mais j'ai fait face au même problème dans ces jours-ci et j'ai corrigé l'ajout de
ContentTemplateSelector = "{Templatedbinding ContentTemplateSelector}" Code>
au lieu de
ContentTemplateSelector = "{TEMPLATEMINDING ItemTemplateSelector}" code> p>
Assurez-vous de ne pas manquer les éléments de ContentTemplateselector.
pour le modèle COMBox lui-même, il devrait être: P>
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"