Как сгруппировать элементы ListView? wpf

176
10 января 2019, 04:10

Вопрос простой. Мне нужно сгруппировать мой ListView (в котором GridView) где-то так:

Проблема в том, что я перелопатил кучу статей и везде используется куча кода в Code-Behind (даже коллекцию часто задают в конструкторе). Мне нужно нормальное MVVM решение.

Answer 1

Проблема решена. Что нужно было сделать, так это добавить в ресурсы CollectionViewSource и в него добавить GroupDescription. В моем случае это:

<Window.Resources>
    <CollectionViewSource x:Key="envVariables" Source="{Binding Variables}">
        <CollectionViewSource.GroupDescriptions>
            <PropertyGroupDescription PropertyName="Hive"/>
        </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>
</Window.Resources>

А в ListView установить ItemsSource следующим образом:

<ListView ItemsSource="{Binding Source={StaticResource envVariables}}">

и добавить GroupStyle:

<ListView.GroupStyle>
    <GroupStyle>
        <GroupStyle.HeaderTemplate>
            <DataTemplate>
                <TextBlock FontWeight="Bold" FontSize="14" Text="{Binding Name}"/>
            </DataTemplate>
        </GroupStyle.HeaderTemplate>
    </GroupStyle>
</ListView.GroupStyle>
READ ALSO
не работает composer

не работает composer

На Open Server внезапно перестал работать Composer, не могу установить пакет, не могу обновить существующие пакеты, даже не могу заново установить...

254
PHP Warning: parse_ini_file() has been disabled for security reasons

PHP Warning: parse_ini_file() has been disabled for security reasons

При запуске скрипта КРОНОМ вылетает ошибкаНе могу понять, где и как включить эту функцию для всех

233
laravel sql получить массив

laravel sql получить массив

есть такой запрос:

158
Открытие функцией mysql_select_db базы данных из localhost

Открытие функцией mysql_select_db базы данных из localhost

Использую приложение OpenServerПо адресу

174