Добавить элемент управления Silverlight, не блокируя пользовательский интерфейс - PullRequest
0 голосов
/ 10 ноября 2009

Как добавить элемент управления в элемент управления Silverlight Grid, не блокируя пользовательский интерфейс. Я создаю сложный элемент управления Chart и при вызове myGrid.Children.Add (myChart) вся страница блокируется и не отвечает. Есть идеи, ребята?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2009

Несколько вещей, которые вы можете попробовать:

  1. Заверните вызов, чтобы добавить диаграмму в Dispatcher.BeginInvoke ([добавить диаграмму]). Это приведет к тому, что диаграмма не будет добавлена, пока не закончится текущий раунд работы с пользовательским интерфейсом, и может помочь сделать ее более отзывчивой
  2. Добавить диаграмму без каких-либо данных в пользовательский интерфейс. Затем в фоновом режиме загрузите данные и используйте привязки для отображения данных на диаграмме.
  3. Попытайтесь выяснить, как вы можете разбить ваш сложный график. Так что, может быть, вы можете сначала добавить диаграмму, а затем добавить другие элементы по мере продвижения.
  4. Убедитесь, что ваши данные для диаграммы уже загружены, прежде чем добавлять диаграмму. Я предполагаю, что вы уже делаете это, но просто хотите перепроверить.

Это мои единственные идеи.

0 голосов
/ 10 ноября 2009

Вы проверяли, является ли это проблемой рендеринга XAML или создания экземпляра элемента управления диаграммы, который вызывает блокировку?

Что происходит, когда вы устанавливаете Видимость диаграммы на Свернутый и добавляете это в сетку? Очевидно, что вы не увидите его в пользовательском интерфейсе, поэтому вам нужно либо пройти через него с помощью отладки, либо просто открыть MessageBox до и после вызова Add (myChart).

Если это рендеринг диаграммы в XAML, я бы углубился в XAML, который управляет этой диаграммой, и поищу оптимизацию (если вы можете, что это за контроль диаграммы?)

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