Mikhail Sukhov:
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.
Mikhail Sukhov:
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.
Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.
Mikhail Sukhov:
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.
Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.
Ясно. спасибо! т.е. наш путь - это обработчики событий :-)
А все-таки что такое Ecng.Collections.SynchronizedList, может в нем что полезное есть на будущее? Или это просто thread-safe List<T>?
Mikhail Sukhov:
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.
Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.
Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?
sergun:
Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?
ObservableCollection не thread safe, а нужно такое. Даже если я сделаю коллекцию с нотификациями, все равно нужно производить UI маршалинг через GuiSync. И смысл отпадет от такой коллекции, потому что уже есть подобные события у самой стратегии.
We use cookies to ensure the best experience on our website. By continuing to use our site, you agree to the use of cookies.
Comments (6)
Login or Create account, Log in or register to leave a comment
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.
Ясно. спасибо! т.е. наш путь - это обработчики событий :-)
А все-таки что такое Ecng.Collections.SynchronizedList, может в нем что полезное есть на будущее? Или это просто thread-safe List<T>?
Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?
ObservableCollection не thread safe, а нужно такое. Даже если я сделаю коллекцию с нотификациями, все равно нужно производить UI маршалинг через GuiSync. И смысл отпадет от такой коллекции, потому что уже есть подобные события у самой стратегии.