我可以通过样式添加硬编码的组合框项吗?



>我有一个小应用程序,其中相同的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,而是后备数据项)放入资源中,然后绑定到该资源。

相关内容

  • 没有找到相关文章

最新更新