|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Возможно ли реализовать приложение следующим образом. Есть главное окно. Внутри него имеются другие окна (или контролы), жестко прикрепленые ("докируемые") друг с другом. Важно, что эти дочерние окна запущенны каждый в своем потоке, и соответственно со своим диспетчером, т.е обработка данных в окнах происходит параллельно. Идеально, чтобы это все было полностью на WPF. Ну или хотябы сами окна (контролы) на WPF. Ну если и так невозможно, то скажите как по другому. Я знаю по-отдельности: 1)Как запустить WPF окно в собственном потоке. 2) Как поместить в грид WPF содержимое другого окна. НО. Вместе это не работает Просьба написать хотя бы возможно или нет и, если да, то как. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 15:48 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
constant_ural, это невозможно. Окна могут работать в отджельных потоках, но разделить содержимое окна по разныи потокам нельзя. Это ограничение Windows. constant_uralНу если и так невозможно, то скажите как по другому. Запускай обработку данных в отдельных потоках. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 16:23 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
авторно разделить содержимое окна по разныи потокам нельзя. А если как-то их сгруппировать или "склеить" вместе ? Пусть это будут физически разные окна, но выглядеть как одно составное окно. Вот например в Visual Studio, там что тоже в одном окне все работает (те части которые dockable и склеены между собой) ? авторЗапускай обработку данных в отдельных потоках. Это и так делается, но в моей задаче имеет место большая частота изменения данных, и то с какой скоростью работают эти Invoke/BeginInvoke, а также с какой скоростью выводятся данные меня не устраивает. Опять-таки хотелось бы разделить некоторые визуальные объекты вывода данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 16:36 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
bazile, есть ограничения на то, что поток интерфейса должен быть Single-Threaded Apartment, но это не значит, что их не может быть 2а Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Вот так у меня запускают 2а окна из разных потоков :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 17:35 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Roman Mejtesесть ограничения на то, что поток интерфейса должен быть Single-Threaded Apartment, но это не значит, что их не может быть 2а Ты невнимательно прочитал мой ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 18:04 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
bazileconstant_ural, это невозможно. Окна могут работать в отджельных потоках, но разделить содержимое окна по разныи потокам нельзя. Возможно. http://blogs.msdn.com/b/dwayneneed/archive/2007/04/26/multithreaded-ui-hostvisual.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 18:08 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Roman Mejtes, авторесть ограничения на то, что поток интерфейса должен быть Single-Threaded Apartment, но это не значит, что их не может быть 2а Да, получается можно создать два окна в приложении, которые будут в разных потоках. Я делал похожие вещи, только вызывал из главного окна втрое которое выполняется в отдельном потоке. Это гуд. Но как сделать чтобы эти два окна были единым целым. В идеале - одно в другом. Ну или dock их как-то, состыковать. Никто не знает, а ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 18:25 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, спасибо за интересную ссылку, только данное решение подходит только когда требуется только отображать данные. Хотя возможно ТСу именно это требуется. авторIf your scenario doesn’t require interactivity (meaning input), then there is another option that WPF provides: HostVisual. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 18:29 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, автор http://blogs.msdn.com/b/dwayneneed/archive/2007/04/26/multithreaded-ui-hostvisual.aspx Да, спасибо, статью видел. По началу смутило вот это. There are some limitations: namely that the UI owned by the worker threads do not receive input events Т.е. я это понял так, что выводить данные можно, но вот ввод такие элементы получить не могут (или не так ?). Это меня несколько обескуражило, так как мне это не совсем подходит. Хотя может быть в какой-то степени идею использовать можно. Или я ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 18:32 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Так, а если поставить вопрос в другой плоскости. Можно ли взять два окна и "состыковать" их друг с другом, а-ля dockable. Т.е. визуально одно целое но физически два разных окна ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 19:05 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
constant_uralТак, а если поставить вопрос в другой плоскости. Можно ли взять два окна и "состыковать" их друг с другом, а-ля dockable. Т.е. визуально одно целое но физически два разных окна ? состыковывать может быть не окна, а их содержимое? глянь http://appfx.codeplex.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 20:47 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
Шайтан, стандартные средства не предоставляют такую возможность, но делается это через DockPanel и окна, достаточно в Snoop! или аналогах изучить структуру дерева VisualStudio и станет понятно как это работает. Единственное, что меня поражает в VS это отсутствие тормозов при таком обилии говна в этом дереве ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 21:06 |
|
Дочерние окна со своим потоком внутри главного
|
|||
---|---|---|---|
#18+
авторсостыковывать может быть не окна, а их содержимое? глянь http://appfx.codeplex.com/ Мне же нужно чтобы окна именно каждое в своем потоке выполнялось (см. выше). С содержимым проблем нету - в грид вставляешь контент и готово, но это будет тот же поток что UI. Поэтому именно окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 22:35 |
|
|
start [/forum/topic.php?fid=21&msg=39114400&tid=1440770]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 501ms |
0 / 0 |