Пустые записи Списка выбора данных - PullRequest
0 голосов
/ 04 февраля 2012

Я только начал пытаться создать свое первое приложение 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" });

Привязка списка связывается, но я получаю две небольшие пустые, но выбираемые записи сверху (предположительно, место для пико и нано литров).Я оставил их, поскольку они не будут использоваться пользователем.Есть ли способ предотвратить это, и просто показать 3, что я хочу?

1 Ответ

0 голосов
/ 04 февраля 2012

Я могу придумать несколько способов, но, возможно, есть и другие:

Самым простым было бы не загружать в ListPicker элементы, которые не будут отображаться.Или используйте Linq-to-Objects, чтобы отфильтровать элементы, которые вы хотите отобразить, в коллекцию, связанную с элементом управления.

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

Вы можете использовать CollectionViewSource для фильтрацииэлементы в коллекции, которые вы не хотите отображать по определенным критериям.

...