2

同じ ComboBox が複数の場所に表示され、常に同じアイテムのセットを持つ小さなアプリがあります。コンボボックスを使用するたびにこれを行う代わりに:

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

各 ComboBox に適用できる Style の一部として項目を作成する方がよいと考えていました。誰かがそれを機能させる方法を知っていますか? ありがとう!

4

2 に答える 2

3

同一の項目リストを持つ 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}}"/>
于 2012-06-20T18:43:07.460 に答える
1

Rachel が提案した方法の代わりに、すべての XAML を維持したい場合は、アイテム (ComboBoxItems ではなく、バッキング データ アイテム) を Resource に配置し、そのリソースにバインドすることができます。

于 2012-06-20T18:45:10.987 に答える