Не загружаются сохранённые настройки PortfolioGrid из xml

Не загружаются сохранённые настройки PortfolioGrid из xml
Atom
13.04.2020
Дмитрий_


Здравствуйте.

Имею контрол
<xaml:PortfolioGrid x:Name="PortfolioGrid" />

Методы Save и Load


Реализация методов
Load(new XmlSerializer<SettingsStorage>().Deserialize($@"{_SETTINGS_DIR}/{_SETTINGS_FILE}"));
Save(new XmlSerializer<SettingsStorage>().Deserialize($@"{_SETTINGS_DIR}/{_SETTINGS_FILE}"));

C _testPortfolios всё работает
С PortfolioGrid и вариант с PortfolioGrid.Load(storage); не срабатывает

Файл сохранённых настроек historyEmulationConnectorSettings.xml

Теги:


Спасибо:


1 2  >
Support

Фотография
Дата: 13.04.2020
Ответить


Добрый день

Какая-то ошибка или настройки не восстанавливаются?
Спасибо:

Дмитрий_

Фотография
Дата: 13.04.2020
Ответить


Ошибки нет, не восстанавливаются настройки.
Спасибо:

Support

Фотография
Дата: 13.04.2020
Ответить


Модифицированный пример работает. Кнопка Save после получения портфелей. Кнопка Load после изменения порядка колонок, ширина и т.д. Состояние восстанавливается.

Код
<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        
        <xaml:PortfolioGrid x:Name="PortfolioGrid" x:FieldModifier="public" />
    <StackPanel Grid.Row="1" Orientation="Horizontal">
        <Button x:Name="Save" Click="Save_Click" Content="Save"/>
        <Button x:Name="Load" Click="Load_Click" Content="Load"/>    
    </StackPanel>
    </Grid>

private SettingsStorage _s;

        private void Save_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            _s = PortfolioGrid.Save();
        }

        private void Load_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            PortfolioGrid.Load(_s);
        }
Спасибо:

Дмитрий_

Фотография
Дата: 14.04.2020
Ответить


Не работает.

В демонстрационных целях создал мини-проект, в котором при открытии дочернего окна загружаются настройки PortfolioGrid, при добавлении портфеля в PortfolioGrid - сохраняются настройки.

PortfolioGridLoader.zip
Спасибо:

Support

Фотография
Дата: 14.04.2020
Ответить


Добрый день

Попробуйте наш пример с последним API и модификацией выше. Работает ли у вас данный код?
Спасибо:

Дмитрий_

Фотография
Дата: 15.04.2020
Ответить


Добрый день.

Тестировал с package id="StockSharp" version="4.4.16", если я правильно понимаю, то это последний API.
Всё равно не работает.

Возможно важно указать в описании, что я добавляю не реальный портфель, а тестовый.

Переделал проект под ваш пример и добавил две кнопки:
- Add (добавляет портфель)


- Remove (удаляет портфель)


Совершаю следующие действия:
Add, Add (два портфеля)
Save,
Remove, Remove (пустой PortfolioGrid)
Load (пустой PortfolioGrid) - не загружает то состояние, когда в PortfolioGrid было два портфеля.

PortfolioGridLoader.zip
Спасибо:

Support

Фотография
Дата: 15.04.2020
Ответить


Последняя версия 5.0
Спасибо:

Дмитрий_

Фотография
Дата: 16.04.2020
Ответить


Не работает.
Установил version="5.0.4" targetFramework="net48"
packages.config
packages.config 6 KB (445)
Спасибо:

Support

Фотография
Дата: 16.04.2020
Ответить


Вы пробовали наш пример с модификацией выше?
Спасибо:

Иван З.

Фотография
Дата: 16.04.2020
Ответить


Дмитрий Антипов
Добрый день.

Тестировал с package id="StockSharp" version="4.4.16", если я правильно понимаю, то это последний API.
Всё равно не работает.

Возможно важно указать в описании, что я добавляю не реальный портфель, а тестовый.

Переделал проект под ваш пример и добавил две кнопки:
- Add (добавляет портфель)


- Remove (удаляет портфель)


Совершаю следующие действия:
Add, Add (два портфеля)
Save,
Remove, Remove (пустой PortfolioGrid)
Load (пустой PortfolioGrid) - не загружает то состояние, когда в PortfolioGrid было два портфеля.

PortfolioGridLoader.zip

Попробуйте декомпилировать PortfolioGrid и поймете, что он не сохраняет портфели. И наверное не должен графический элемент за это отвечать.
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy