|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
О, это вообще то, что надо, он статический Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2018, 16:36 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Shocker.ProО, это вообще то, что надо, он статический Код: c# 1.
Это идеально). Работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2018, 16:58 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Да, мне помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2018, 17:25 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
запускал с приоритетом, предложенным Сном Веры Павловны Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2018, 17:26 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Наткнулся на проблему: в ItemsControl добавляется элемент, у которого активизирован AdornerLayer, и в нем есть содержимое. Если элемент уже добавлен, то активация AdornerLayer выполняется вполне нормально, и он отображается. Если активация производится одновременно с добавлением элемента, то сама активация тоже проходит нормально - layer есть, в него добавляется всё, что нужно, у класса, унаследованного от Adorner, нормально и с нормальными вменяемыми значениями отрабатывают ArrangeOverride/MeasureOverride, но.. просто ничего не отображается. Просто молча, без ошибок, без сообщений трассировки - просто вообще ничего. Стал экспериментировать - выяснил, что если активацию AdornerLayer делать в таске с небольшой задежкой, то всё отрисовывается нормально. Потом вспомнил, что где-то я про такое читал, и это вроде как решили более правильным способом. Потом вспомнил про этот топик. И всё заработало нормально :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 09:09 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Писал приложения на WPF/WPhone - вообще ни разу не сталкивался с чем-то похожим на проблему ТС. Обработка должна продолжиться только после того, как обновится визуальное дерево?? Нафига? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 00:25 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортомПисал приложения на WPF/WPhone - вообще ни разу не сталкивался с чем-то похожим на проблему ТС. Обработка должна продолжиться только после того, как обновится визуальное дерево?? Нафига? на разных этапах выполнения диспатчера, разное состояние. к примеру, не имеет смысла менять фокус, до приоритета input и вообще работать с вводом\выводом, binding. до момент рендеринга, к примеру, можно не знать размер элемента. много раз сталкивался, когда это нужно, всегда использовал, но с умом надо делать, если вызывать из цикла, рекурсии и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 00:38 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
при обработке ввода с большой частотой не стоит использовать, к примеру, для MouseMove, DragAndDrop и т.д. и т.п. Ввод с клавы может быть тоже очень быстрый ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 00:40 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Roman Mejtesдо момент рендеринга, к примеру, можно не знать размер элемента. Не понимаю, весь интерфейс описывается декларативно. И потом, весь MVVM про то, что VM ничего не знает про V. Кто должен знать про размер элемента? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 01:55 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортомПисал приложения на WPF/WPhone - вообще ни разу не сталкивался с чем-то похожим на проблему ТС. Обработка должна продолжиться только после того, как обновится визуальное дерево?? Нафига?По поводу чего именно этот топик был мной создан - точно не помню, кажется что-то с разворачиванием узлов дерева, мне нужно было дождаться, когда они реально появятся на экране. Но впервые столкнулся с необходимостью, когда выводил на экран лог обработки. Если не дожидаться, чтобы строчка появилась на экране, то основной алгоритм выплевывал следующую строчку (даже работая в фоновом потоке), в результате лог на экране обновлялся только после окончания алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 09:35 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Shocker.ProНо впервые столкнулся с необходимостью, когда выводил на экран лог обработки. Но ты же понимаешь, что это абсурд? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 12:17 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортом, то есть программирование в View вы исключаете? создание своих элементов управления, изменения поведения существующих и так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 12:59 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Roman Mejtesто есть программирование в View вы исключаете? Я всю логику убирал в VM и считал это единственно правильным подходом. View - это XAML, какое там программирование? CodeBehind, разумеется, пустой. Ни в одном моём приложении - не было готовых/стандартных UI контролов; всё рисовалось в бленде. И никогда не опускался до описываемых штук, тем более до таких серьезных IT-вызовов, как отображение списка на форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 13:20 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортомНо ты же понимаешь, что это абсурд?Честно. Нет. Объясни. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 16:50 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Shocker.ProАгнец за бортомНо ты же понимаешь, что это абсурд?Честно. Нет. Объясни. Задачу отображения списка на UI решать с помощью каких-то низкоуровневых хаков - абсурд. List байндил на Observable и работал с ней - всё работало как ожидалось. Либо ты что-то не то делал, либо я не понимаю сути. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 17:05 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортомList байндил на Observable и работал с ней - всё работало как ожидалось.Если ты начинаешь непрерывно (быстро) заполнять коллекцию, то на экране изменения просто не успевают отображаться, так как данные поступают быстрее, чем поток пользовательского интерфейса соизволит обновить данные на экране, ибо обновление экрана возникает не по каждому твоему телодвижению. А мне требовалось, чтобы лог бежал на экране. Так в чем абсурд-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 18:59 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Shocker.Pro, Читать то успевают поток строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 19:14 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, Читать то успевают поток строк?бегущий поток показывает, что работа идет, кроме того, можно поставить на паузу и проанализировать, если на вид что-то не так. Ты же профайлером пользовался скульным? необязательно успевать разбирать все запросы, чтобы понять, что все в норме или что-то не так ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 19:17 |
|
WPF: Как правильно дождаться обновления визуального дерева?
|
|||
---|---|---|---|
#18+
Агнец за бортом, По задаче, фиг знает. В десктопе наоборот бывало выключал отрисовку и события чтобы не тормозило и не глючило. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 19:18 |
|
|
start [/forum/topic.php?fid=21&gotonew=1&tid=1440359]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 319ms |
0 / 0 |