2010-09-03 10 views
1

J'ai créé un RibbonGallery/ComboBox pour afficher la liste des polices installées.WPF: Liaison de données & Afficher le chemin d'accès du membre

alt text

mais parfois après son entrée dire "V" ce que je reçois

alt text

regard sur le texte dans le menu.

[Font Family: Name=... 

pourquoi cela se produit-il?

Code

// xaml 
<ribbon:RibbonComboBox Label="Gallery"> 
    <ribbon:RibbonGallery SelectedValue="ABC" SelectedValuePath="Content" MaxColumnCount="1"> 
     <ribbon:RibbonGalleryCategory x:Name="fontsMenu" /> 
    </ribbon:RibbonGallery> 
</ribbon:RibbonComboBox> 

// code behind 
InstalledFontCollection col = new InstalledFontCollection(); 
fontsMenu.ItemsSource = col.Families; 
fontsMenu.DisplayMemberPath = "Name"; 
+0

Avez-vous essayé de définir le SelectedValuePath à Name? – Bubblewrap

+0

Y a-t-il une police commençant par 'V' dans la liste? – Goblin

Répondre

1

Voilà comment FontFamily.ToString() mis en œuvre et c'est exactement ce que nous avons affiché:

public override string ToString() 
    { 
     return string.Format(CultureInfo.CurrentCulture, "[{0}: Name={1}]", new object[] { base.GetType().Name, this.Name }); 
    } 

Vous devez certainement régler quelques DisplayMemberPath à "Nom" et vous j'en ai déjà un sur RibbonGalleryCategory mais maintenant je suis curieux - ne devrait-il pas être placé sur RibbonGallery ou même RibbonComboBox? Franchement parlant, je n'ai pas encore utilisé les contrôles de ruban wpf - tout ce que je peux suggérer est juste l'hypothèse.

Espérons que cela aidera :)