Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Комбинированная группировка в списке 
:(
    Опции темы
RastaDja
Дата 11.2.2013, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: нет
Всего: 5



Доброго времени суток!

Есть у меня список, который сгрупирован по полю "Group"

Код

researchList = new ObservableCollection<ListClass>();
ICollectionView view = CollectionViewSource.GetDefaultView(researchList);
view.GroupDescriptions.Add(new PropertyGroupDescription("Group"));
//view.SortDescriptions.Add(new SortDescription("Group", ListSortDirection.Descending));
ResearchList.ItemsSource = view;

Код

<ListBox Name="ResearchList" Grid.Row="0" HorizontalContentAlignment="Stretch" BorderThickness="0"
          ItemTemplate="{StaticResource OpenResearchTmpl}"
          ItemContainerStyle="{StaticResource OpenResearchListBoxItem}"  
          ScrollViewer.HorizontalScrollBarVisibility="Disabled"
          IsSynchronizedWithCurrentItem="True" 
         SelectionChanged="ResearchList_SelectionChanged"
         Margin="4">
     <ListBox.GroupStyle>
          <GroupStyle HidesIfEmpty="True">
               <GroupStyle.ContainerStyle>
                    <Style TargetType="{x:Type GroupItem}">
                    <Setter Property="Margin" Value="0,0,0,2"/>
                    <Setter Property="Template">
                         <Setter.Value>
                              <ControlTemplate TargetType="{x:Type GroupItem}">
                                   <Border CornerRadius="0" Background="#FFF5F5F5" SnapsToDevicePixels="True" BorderThickness="1" BorderBrush="#FFC4C4C4">
                                        <Expander IsExpanded="True" x:Name="expander" BorderThickness="0" Template="{StaticResource StretchyExpanderTemp}">
                                             <Expander.Header>
                                                   <DockPanel Height="32">
                                                        <TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Center" FontWeight="Bold" FontSize="12" Text="{Binding Path=Name}" Margin="5,0,0,0"/>
                                                     </DockPanel>
                                               </Expander.Header>
                                               <Expander.Content>
                                                    <Border Background="White">
                                                         <ItemsPresenter />
                                                    </Border>
                                               </Expander.Content>
                                          </Expander>
                                     </Border>
                                </ControlTemplate>
                           </Setter.Value>
                      </Setter>
                 </Style>
            </GroupStyle.ContainerStyle>
      </GroupStyle>
 </ListBox.GroupStyle>
</ListBox>


в итоге получается список вида:
+ Группа 1
     = эл. группы 1
     = эл. группы 1
+ Группа 2
     = эл. группы 2
     = эл. группы 2

Понадобилось сгрупировать некоторые элементы еще по одному параметру, при этом другие элементы группировать не нужно
+ Группа 1
     + Подгруппа 1
          = эл. подгруппы 1
          = эл. подгруппы 1
     + Подгруппа 2
           = эл. подгруппы 2
+ Группа 2
     = эл. группы 2
     = эл. группы 2

Как такое можна сделать с помощью ListBox или ListView?
Спасибо за помощь!


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.