2012-06-20 48 views
2

我有一個小應用程序,其中ComboBox出現在多個位置,並且它始終具有相同的一組項目。相反,這樣做,每次我用組合框:我可以通過樣式添加硬編碼的ComboBoxItems嗎?

<ComboBox ...> 
    <ComboBoxItem Content="1" Tag="1" /> 
    <ComboBoxItem Content="5" Tag="5" /> 
    <ComboBoxItem Content="10" Tag="10" /> 
    <ComboBoxItem Content="50" Tag="50" /> 
</ComboBox> 

我想它會是更好地使我可以適用於每個組合框樣式的項目的一部分。有誰知道如何使它工作?謝謝!

回答

3

一種替代方法我經常使用用於與相同項目列表組合框是創建與含有項的集合屬性一個靜態類,然後結合ItemsSource此靜態屬性

public static class StaticLists 
{ 
    public static List<int> MyList { get; private set; } 

    static Lists() 
    { 
     MyList = LoadSomeList(); 
    } 
} 

<ComboBox ItemsSource="{Binding Source={x:Static local:StaticLists.MyList}}"/> 
+0

謝謝!我使用字符串字符串(LookupDictionaries.TheItems)結束了一些類似於此的操作,然後我使用了一個樣式來執行綁定:\t

1

作爲Rachel建議的替代方案,如果您想保留所有XAML,可以將項目(不是ComboBoxItems,但是支持數據項)放入資源中,然後綁定到該資源。

相關問題