我希望(在C#中)使用枚舉的允許值System.IO.Ports.Parity
填充組合框的允許值列表。爲此我創建了一個集合:在WPF中枚舉System.IO.Ports.Parity的組合框
public class theParitySource : ObservableCollection<Parity>
{
public theParitySource()
{
Array parities = System.Enum.GetValues(typeof(Parity));
foreach (Parity p in parities) this.Add(p);
}
}
(順便說一句:有沒有oneliner這個初始化)和本作的組合框的DataContext的:
...
xmlns:local="clr-namespace:myNamespace"
...
<ComboBox ...>
<ComboBox.DataContext>
<local:theParitySource />
</ComboBox.DataContext>
</ComboBox>
組合框,但是,仍然爲空(它顯示爲空,但似乎具有正確的長度),儘管我可以在調試器中看到如何填充。這種方法在另一個組合框(即使在同一個班級)中工作,我在這裏爲波特率做了這個。我用整數值進行初始化,所以我想這與我在這裏使用枚舉的事實有關,但我猜測可能是什麼原因。任何指針?我需要寫一個轉換器嗎?
(當然我可以解決此通過創建從枚舉的字符串列表,但這將是一種不愉快的...)
編輯:其實我更願意做這一切在XAML。有沒有簡單的方法來做到這一點?
非常感謝,這看起來完全一樣,我想它:-) – Thomas 2013-02-20 20:43:41