我在畫布內有10個矩形,在ManipulationDelta事件中,我必須改變高度和寬度。它在Windows桌面上正常工作,但在操縱矩形時,通用Windows設備(手機)需要一些時間。如何順利操作Windows設備中的UI元素。請告訴我,是否有其他解決這個問題的方法?改善通用Windows手機的性能?
這裏是我的代碼:
<Canvas Name="LayoutRoot" Width="300" Height="500">
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Red" Height="100" Width="100"/>
<Rectangle Fill="Green" Height="100" Width="100"/>
</Canvas>
private void MainPage_OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
foreach (Rectangle rectAngle in LayoutRoot.Children)
{
rectAngle.Width += e.Cumulative.Scale;
rectAngle.Height += e.Cumulative.Scale;
Canvas.SetLeft(rectAngle, LayoutRoot.Width/2 - rectAngle.ActualWidth/2);
Canvas.SetTop(rectAngle, LayoutRoot.Height/2 - rectAngle.ActualHeight/2);
}
}
一個可能的解決方案是使用Win2D庫。 Win2D是一個GPU加速的圖形渲染庫。 – frenk91