Wpf 我可以通过样式添加硬编码的ComboBoxItems吗?

Wpf 我可以通过样式添加硬编码的ComboBoxItems吗?,wpf,combobox,styles,Wpf,Combobox,Styles,我有一个小应用程序,同一个组合框出现在多个地方,它总是有相同的项目集。而不是每次使用组合框时都这样做: <ComboBox ...> <ComboBoxItem Content="1" Tag="1" /> <ComboBoxItem Content="5" Tag="5" /> <ComboBoxItem Content="10" Tag="10" /> <ComboBoxItem Content="50"

我有一个小应用程序,同一个组合框出现在多个地方,它总是有相同的项目集。而不是每次使用组合框时都这样做:

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


我在想,最好让项目成为我可以应用于每个组合框的样式的一部分。有人知道怎么做吗?谢谢

对于具有相同项列表的组合框,我经常使用的另一种方法是使用包含项的集合属性创建一个静态类,然后将
ItemsSource
绑定到此静态属性

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

    static Lists()
    {
        MyList = LoadSomeList();
    }
}
公共静态类静态列表
{
公共静态列表MyList{get;private set;}
静态列表()
{
MyList=LoadSomeList();
}
}


对于具有相同项目列表的组合框,我经常使用的另一种方法是使用包含项目的集合属性创建一个静态类,然后将
项目资源
绑定到此静态属性

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

    static Lists()
    {
        MyList = LoadSomeList();
    }
}
公共静态类静态列表
{
公共静态列表MyList{get;private set;}
静态列表()
{
MyList=LoadSomeList();
}
}



作为Rachel建议的替代方案,如果您想保留所有XAML,可以将项目(不是ComboBoxItems,而是备份数据项目)放入资源中,然后绑定到该资源。

作为Rachel建议的替代方案,如果您想保留所有XAML,可以将项目放入(不是ComboBoxItems,而是备份数据项)绑定到资源中,然后绑定到该资源。

谢谢!我使用ints到字符串字典(LookupDictionaries.ItItems)完成了类似的操作,然后使用样式进行绑定:,谢谢!我使用ints到字符串字典完成了类似的操作(LookupDictionaries.itItems)然后我使用了一种样式进行绑定:,