Как вынудить ActualWidth и ActualHeight обновить (Silverlight)

Я не имею, но я когда-то взял интервью в компании, которая сделала точно это. Они сделали 4GL/DBMS продукт названным AMPS того же вида архитектуры как MUMPS - иерархическая база данных с интегрированным 4GL (целый жанр таких систем вышел в течение 1970-х). У них были вполне существенная основа унаследованного кода и клиенты, желающие соединяться с ним с помощью Доступа MS.

ведущий разработчик, который взял интервью у меня, поделился некоторыми военными историями об этом. По-видимому, это чрезвычайно болезненно, чтобы сделать и не должно быть взято слегка. Однако они действительно на самом деле преуспевали в implemnenting это.

Одна альтернатива выполнению это должно было бы обеспечить витрину данных / продукт BI (вроде BW SAP), который представляет Ваши данные приложения во внешней базе данных и массажирует их в более дружественный формат, такой как схема "звезда" или схема "снежинка".

Это пострадало бы от не поддержки доступа в режиме реального времени, но могло бы быть значительно легче реализовать (и что еще более важно поддержать), чем драйвер ODBC. Если Ваши требования доступа в режиме реального времени довольно predicitable и ограничены, Вы могли бы возможно представить API веб-сервиса для поддержки тех.

9
задан Dave Clemmer 13 June 2013 в 15:58
поделиться

2 ответа

Чтобы обновить ActualWidth и ActualHeight FrameworkElement , вам нужно будет вызвать UpdateLayout .

13
ответ дан 4 December 2019 в 12:20
поделиться

К сожалению, вызов updateLayout также не всегда работает в зависимости от вашей ситуации.

Мне больше повезло с чем-то вроде:

whateverUIElement.Dispatcher.BeginInvoke(()
  {
   //code that needs width/height here
  }
);

, но даже это слишком часто терпит неудачу.

3
ответ дан 4 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: