拖动网格并增加其宽度
Dragging a Grid and increasing its width
如何在 Windows Phone 8.1 中拖动 Grid 元素并根据拖动的距离增加其宽度?假设我有一个 50px
宽的网格元素,我将它拖到屏幕上的 400px
位置;我希望它相应地缩放,并以与拖动相同的速度。
我正在尝试为此创建故事板并且我能够操纵宽度,但我如何才能改变动画的速度以匹配拖动的速度?另外,如何使宽度取决于指针的位置?
您不需要使用 Storyboard。请参阅下面的代码。
XAML:
<Grid x:Name="FlippedGrid" HorizontalAlignment="Left" ManipulationMode="TranslateX" ManipulationDelta="FlippedGridOnManipulationDelta" Width="60" Height="100" Background="Aquamarine"/>
不要忘记设置 ManipulationMode!
CS:
private void FlippedGridOnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
var delta = e.Delta.Translation.X;
FlippedGrid.Width += delta;
//TODO If you want check position, retrieve e.Position:
//var position = e.Position;
//TODO If you want change flip velocity
//double velocity = 1.5;
//FlippedGrid.Width += delta * velocty;
}
如何在 Windows Phone 8.1 中拖动 Grid 元素并根据拖动的距离增加其宽度?假设我有一个 50px
宽的网格元素,我将它拖到屏幕上的 400px
位置;我希望它相应地缩放,并以与拖动相同的速度。
我正在尝试为此创建故事板并且我能够操纵宽度,但我如何才能改变动画的速度以匹配拖动的速度?另外,如何使宽度取决于指针的位置?
您不需要使用 Storyboard。请参阅下面的代码。
XAML:
<Grid x:Name="FlippedGrid" HorizontalAlignment="Left" ManipulationMode="TranslateX" ManipulationDelta="FlippedGridOnManipulationDelta" Width="60" Height="100" Background="Aquamarine"/>
不要忘记设置 ManipulationMode!
CS:
private void FlippedGridOnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
var delta = e.Delta.Translation.X;
FlippedGrid.Width += delta;
//TODO If you want check position, retrieve e.Position:
//var position = e.Position;
//TODO If you want change flip velocity
//double velocity = 1.5;
//FlippedGrid.Width += delta * velocty;
}