Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Есть свой компонент - бегущая строка, реализованная с помощью объектов анимации. Как только программа начинает производить интенсивные вычисления (в частности, при присвоении ItemsControls.ItemsSource = <какой-то список>), бегущая строка замирает, потом опять продолжает движение. Получается очень некрасиво - бегущая строка во время своего движения все время дергается. Есть ли варианты решения данной проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 17:50 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
А вычисления бегают в отдельном потоке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 18:08 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Alex TyutyunikА вычисления бегают в отдельном потоке ? Нет. Контрол ItemsControl находится в том же окне, что и бегущая строка. В том-то и проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 18:11 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Проблема не в этом.. проблема в том, что они все варятся в одном потоке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 18:40 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Alex TyutyunikПроблема не в этом.. проблема в том, что они все варятся в одном потоке Угу. Собственно, и я о том же. Окно, вместе со всеми своими компонентами создается в едином потоке. А вот как сделать, чтобы какие-то компоненты создавались в другом потоке - вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 19:03 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
VarcomAlex TyutyunikПроблема не в этом.. проблема в том, что они все варятся в одном потоке Угу. Собственно, и я о том же. Окно, вместе со всеми своими компонентами создается в едином потоке. А вот как сделать, чтобы какие-то компоненты создавались в другом потоке - вопрос. WPF-приложение, равно как и приложение WinForms являются однопоточными (вспомните атрибут [STAThread]). Чтобы получить доступ к элементам основного потока в WPF применяется Dispatcher. Через него это всё и делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 20:53 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
CompositumЧтобы получить доступ к элементам основного потока в WPF применяется Dispatcher. Через него это всё и делается. Насколько я понял, Dispatcher позволяет передавать управление из вторичных потоков в основной UI-поток. Но у меня стоит противоположная задача. Нужно, чтобы два компонента в окне могли обновляться параллельно. Чтобы, пока ресурсоемкий компонент ItemsControl пересоздает свое содержимое, бегущая строка продожала бежать по экрану, не замирала. Вроде как, они должны функционировать и обновляться в разных потоках. В WinApi для этого, я бы создал оконный компонент "бегущая строка" в отдельном потоке, и положил бы его на главное окно, работающее в основном потоке. Тогда каждый компонент работал бы в своем потоке, не мешая друг другу. Как проделать то же самое в WPF, ума не приложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 11:59 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Varcomресурсоемкий компонент ItemsControl пересоздает свое содержимое Гыы... ресурсоемкий ItemsControl ?? Вы грузите с клиента 1000000 строк данных одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 12:32 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Varcomкаждый компонент работал бы в своем потоке, не мешая друг другу. Как проделать то же самое в WPF, ума не приложу. А как вы уже проделываете - короткий пример приведите. И да, ItemsControl на самом деле не отображает ни каких данных, отображает их панель, указанная в ItemsControl.ItemsPanel ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 12:38 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Roman S. GolubinГыы... ресурсоемкий ItemsControl ?? Вы грузите с клиента 1000000 строк данных одновременно? На самом деле там 3 уровня вложенных ItemsControl-ов с триггерами и анимацией. Но сути дела это не меняет. При присваивании списка данных данному контролу, заметно дергается бегущая строка. Roman S. GolubinVarcomкаждый компонент работал бы в своем потоке, не мешая друг другу. Как проделать то же самое в WPF, ума не приложу. А как вы уже проделываете - короткий пример приведите. Опишу словами. Создается дополнительный поток. В методе этого потока создается контрол (на Делфи - обычный WinControl, на WinApi - CreateWindow), в качестве хэндла родительского окна контрола указывается хэндл окна в главном потоке. Завершается метод потока циклом обработки виндовских сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 13:09 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
с этих придурков. один комбобкс забандить не может, другой с битами не может разобраться третий вообще нирена ни читал, забавный тут , у вас, зверинец. ms-help://MS.MSDNQTR.v90.en/wpf_conceptual/html/02d8fd00-8d7c-4604-874c-58e40786770b.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 13:12 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
я фигюс этих придурков. один комбобкс забандить не может, другой с битами не может разобраться третий вообще нирена ни читал, забавный тут , у вас, зверинец. ms-help://MS.MSDNQTR.v90.en/wpf_conceptual/html/02d8fd00-8d7c-4604-874c-58e40786770b.htm Господин офигевший выскочка не подскажет, как на основе вышеуказанной ссылки создать в окне контрол, который будет обрабатываться потоком, отличным от потока окна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 15:45 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
Попробуйте для начала в ItemsControl.ItemsPanel прописать что-нибудь типа Код: plaintext 1. 2. 3. 4. 5. 6. Может поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 21:56 |
|
||
|
Бегущая строка в WPF
|
|||
|---|---|---|---|
|
#18+
VarcomГосподин офигевший выскочка не подскажет, как на основе вышеуказанной ссылки создать в окне контрол, который будет обрабатываться потоком, отличным от потока окна? Он прав. В контекста STA машина состояний, управляющая окнами всего одна. И второй не дождетесь. Хотите асинхронности - создавайте отдельный поток в бэкграунде ThreadPool.QueueUserWorkItem и далее по списку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 21:58 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=36223535&tid=1442992]: |
0ms |
get settings: |
5ms |
get forum list: |
7ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 7ms |
| total: | 94ms |

| 0 / 0 |
