WPF .Net v4.7.2 беспокоит разницу между выполнением в отладочной и прямой - PullRequest
0 голосов
/ 17 октября 2019

Я использовал .Net 4.0 и теперь я обновился до .Net 4.7.2. Я заметил очень тревожные проблемы. Теперь программа ведет себя по-разному при запуске из отладчика Visual Studio (2012) или при запуске непосредственно из ex e.

Это две проблемы, которые, как я заметил, не возникают с отладчиком, но случаются, когдаиз столбца exe:

  1. A DataGrid со значением "*" для использования оставшейся ширины просто отображается минимальная ширина столбца для хранения данных.

  2. События Loaded генерируются только иногда. Кажется, это зависит от объема работы, выполняемой при отображении страницы. Например, если работы слишком много, это просто не мешает запускать событие.

У кого-то еще есть это или кто знает почему?


Подробнее об этом. Я обнаружил, что это всегда срабатывает событие Page Loaded, но это было до того, как я подписался на него.

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

1 Ответ

1 голос
/ 17 октября 2019

Они представили новый алгоритм выделения в 4.7, чтобы предотвратить бесконечные циклы, которые возникали во время макета Grid при некоторых обстоятельствах. Пожалуйста, обратитесь к документам для получения дополнительной информации.

Вы можете отключить новый алгоритм, добавив переключатель в ваш файл App.config:

<runtime>
  <AppContextSwitchOverrides value="Switch.System.Windows.Controls.Grid.StarDefinitionsCanExceedAvailableSpace=true" />
</runtime>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...