Рекомендации по сохранению макета столбцов ListView в WPF - PullRequest
2 голосов
/ 16 марта 2009

Цель состоит в том, чтобы позволить пользователю скрывать / показывать / перемещать / изменять размер столбцов, сохранять этот макет и иметь возможность восстановить его при повторном запуске приложения. Сначала я расскажу вам, как я это делаю. В GridView.Columns я присоединяю к CollectionChanged, а также к каждому свойству зависимостей Column.With. Когда запускается любое из событий, я сохраняю порядок, видимость и ширину столбцов в собственной строке, которую я сохраняю в файле настроек XML. Но мне кажется, что это довольно сложная ручная работа. Существуют ли популярные существующие компоненты или методы для сохранения макета столбцов?

1 Ответ

2 голосов
/ 16 марта 2009

Не могли бы вы сохранить столбцы в XAML? После быстрого теста, казалось, сохранить соответствующую информацию. Я начал с этого:

<GridView>
    <GridView.Columns>
        <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}"/>
        <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/>
        <GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}"/>
    </GridView.Columns>
</GridView>

И после изменения размера и перемещения я позвонил XamlWriter.Save на GridView.Columns и получил это:

<GridViewColumnCollection xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <GridViewColumn Width="108.51" DisplayMemberBinding="{Binding Path=FirstName}">First Name</GridViewColumn>
    <GridViewColumn DisplayMemberBinding="{Binding Path=Age}">Age</GridViewColumn>
    <GridViewColumn Width="83.8533333333333" DisplayMemberBinding="{Binding Path=LastName}">Last Name</GridViewColumn>
</GridViewColumnCollection>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...