2010-09-03 24 views
1

我創建了一個RibbonGallery/ComboBox來顯示已安裝字體的列表。WPF:數據綁定和顯示成員路徑

alt text

但有時會進入說出 「V」 這是我得到

alt text

看看在菜單中的文本之後。

[Font Family: Name=... 

爲什麼會發生這種情況。

代碼

// 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

您是否嘗試將SelectedValuePath設置爲Name? – Bubblewrap 2010-09-03 06:06:53

+0

列表中是否有以'V'開頭的字體? – Goblin 2010-09-05 15:22:16

回答

1

這是FontFamily.ToString()如何實現的並且那正是我們顯示:

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

你一定要設置一些的DisplayMemberPath到 「姓名」 和你已經有一個RibbonGalleryCategory,但現在我很好奇 - 不應該它設置在RibbonGallery或甚至RibbonComboBox?坦率地說,我還沒有使用過WPF的色帶控制 - 我可以建議的只是假設。

希望這會有所幫助:)