У меня есть полноэкранное приложение, которое я хочу иметь возможность увеличивать в определенных областях.
У меня код работает нормально, но я замечаю, что когда я подхожу ближе, анимация увеличения (которая анимирует свойства ScaleTransform.ScaleX
и ScaleTransform.ScaleY
на родительском холсте) начинает немного дергаться, и рамка скорость страдает.
Я не использую никаких эффектов BitmapEffect или чего-либо еще, и в идеале я хотел бы, чтобы моя сцена стала более сложной, чем она есть в настоящее время.
Сцена довольно большая, 1980х1024, это требование, которое нельзя изменить.
Текущий макет выглядит так:
<Canvas x:name="LayoutRoot">
<Canvas x:Name="ContainerCanvas">
<local:MyControl x:Name="c1" />
<!-- numerous or ther controls and elements that compose the scene -->
</Canvas>
</Canvas>
Код, который увеличивает масштаб, просто анимирует RenderTransform
ContainerCanvas, который, в свою очередь, масштабирует своих потомков, что дает желаемый эффект.
Однако, мне интересно, нужно ли мне поменять ContainerCanvas на ViewBox или что-то в этом роде? Я никогда прежде не работал с элементами управления ViewBox / Viewport в WPF, могут ли они мне помочь?
Плавное масштабирование является огромным требованием клиента, и я должен решить эту проблему.
Все идеи приветствуются
Большое спасибо
Mark