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" });

listpicker 绑定,但我在顶部得到两个小的空白但可选择的条目(大概是 pico 和 nano 升的空间)。我忽略了这些,因为它们不会被用户使用。有没有办法阻止这种情况,只显示我想要的 3 个?

4

1 回答 1

0

我可以想到几种方法,但可能还有更多:

最简单的方法是不在 ListPicker 中加载不会显示的项目。或者使用 Linq-to-Objects 筛选出要显示到绑定到控件的集合的项目。

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

您可能会考虑使用CollectionViewSource根据某些条件过滤掉您不希望显示的集合中的项目。

于 2012-02-04T14:48:42.400 回答