Какой из них имеет лучшую производительность рендеринга, Stackpanel или Canvas + TranslateTransform? WPF / Silverlight - PullRequest
1 голос
/ 12 ноября 2009

Я всегда использую Canvas, когда выкладываю свои визуальные элементы, обычно потому, что мне понадобится настроить RenderTransform.TranslateTransform для анимации каким-либо образом. Недавно мой коллега сказал мне, что, если мне явно не нужно анимировать, я всегда должен использовать A Stackpanel, потому что он быстрее, чем RenderTransform.TranslateTransform при размещении объектов на визуале.

Это правда?

У кого-нибудь есть данные?

1 Ответ

1 голос
/ 12 ноября 2009

У меня нет никаких данных по этому вопросу, но если мы просто говорим о суммировании, то вы используете TranslateTransform для достижения точного позиционирования каждого элемента, кажется чрезвычайно хрупким, поскольку теоретически элемент может иметь разную высоту / ширину также может теоретически динамически меняться во время выполнения, не говоря уже о том, что если дизайнер изменяет их вручную, он должен повторить преобразование преобразования для N других элементов пользовательского интерфейса. Использование StackPanel означает, что фазы Измерить / Аранжировать будут происходить, и независимо от того, какого размера элементы, они будут точно размечены.

...