0

最初のwp7アプリの作成を始めたばかりで、c#とxamlを最初から学んでいます。順調に進んでいますが、Silverlightツールキットのリストピッカーに問題があります。

次のテンプレートを使用してリストピッカーをデータバインドしました

        </DataTemplate>
        <DataTemplate x:Name="pitVolume">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Litres}"  Margin="12 0 0 0"/>
            </StackPanel>
        </DataTemplate>

これにバインドされています:List concunitsource = new List();

            concunitsource.Add(new Units() { Molar = "pM", Factor = -12});
            concunitsource.Add(new Units() { Molar = "nM", Factor = -9, Grams = "ng"});
            concunitsource.Add(new Units() { Molar = "µM", Factor = -6, Grams = "µg", Litres = "µL" });
            concunitsource.Add(new Units() { Molar = "mM", Factor = -3, Grams = "mg", Litres = "mL" });
            concunitsource.Add(new Units() { Molar = "M", Factor = 0, Grams = "g", Litres = "L" });

リストピッカーはバインドされますが、上部に2つの小さな空白で選択可能なエントリが表示されます(おそらくピコリットルとナノリットル用のスペース)。ユーザーが使用しないため、これらは省略しました。とにかくこれを防ぐために、私が欲しい3つを表示するだけですか?

4

1 に答える 1

0

私はいくつかの方法を考えることができますが、おそらくもっとあります:

最も簡単なのは、表示されないアイテムをListPickerにロードしないことです。または、Linq-to-Objectsを使用して、コントロールにバインドされているコレクションに表示するアイテムをフィルターで除外します。

dspConcunitsource = concunitsource.Where(u => u.Litres != null).ToList();

CollectionViewSourceを使用して、いくつかの基準に基づいて表示したくないコレクション内のアイテムを除外することを検討する場合があります。

于 2012-02-04T14:48:42.400 に答える