>我有一个小应用程序,其中相同的ComboBox出现在多个位置,并且它总是具有相同的项目集。 而不是每次使用组合框时都这样做:
<ComboBox ...>
<ComboBoxItem Content="1" Tag="1" />
<ComboBoxItem Content="5" Tag="5" />
<ComboBoxItem Content="10" Tag="10" />
<ComboBoxItem Content="50" Tag="50" />
</ComboBox>
我想最好让这些项目成为我可以应用于每个 ComboBox 的样式的一部分。 有谁知道如何让它工作? 谢谢!
我经常用于具有相同项列表的 ComboBox 的另一种方法是创建一个静态类,其中包含包含 Items 的集合属性,然后将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}}"/>
作为 Rachel 建议的替代方法,如果要保留所有 XAML,可以将项(不是 ComboBoxItems,而是后备数据项)放入资源中,然后绑定到该资源。