将图像恢复到WP7中墓碑后的相同位置
本文关键字:位置 墓碑 图像 恢复 WP7 | 更新日期: 2023-09-27 18:23:39
我在WP7应用程序中使用MouseDragElementBehavior在画布上拖动图像。我可以在拖动图像后得到坐标(X,Y位置)。但我也想保留墓碑后的相同图像位置。
private void MouseDragElementBehavior_Dragging(object sender, MouseEventArgs e)
{
Point currentPos = e.GetPosition(image1);
if (currentPos.X < 190)
{
double targetOffset = 700;
DoubleAnimation animation = new DoubleAnimation();
animation.EasingFunction = new CircleEase();
animation.Duration = new Duration(new TimeSpan(0, 0, 10));
animation.From = TextScroll.AnimatableOffset;
animation.To = targetOffset;
Storyboard.SetTarget(animation, TextScroll);
Storyboard.SetTargetProperty(animation, new PropertyPath("(AnimatableScrollViewer.AnimatableOffset)"));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(animation);
storyboard.Begin();
}
App app = (App)Application.Current;
app.current_X = currentPos.X.ToString();
app.current_Y = currentPos.Y.ToString();
TextScroll.AnimatableOffset = -700;
}
我已经存储并检索了隔离存储中的值,以进行tombstoning。
private void LoadSettings()
{
var settings = IsolatedStorageSettings.ApplicationSettings;
current_X = settings["Xpos"].ToString();
current_Y = settings["Ypos"].ToString();
}
private void SaveSettings()
{
var settings = IsolatedStorageSettings.ApplicationSettings;
settings.Add("Xpos", current_X);
settings.Add("Ypos",current_Y);
settings.Save();
}
现在,我想使用这些值将图像定位在与tombstoning之前相同的坐标处。我不知道如何用提供的X和Y坐标定位图像。
这是我使用图像的XAML代码。
<Canvas Margin="12,0,3,-834" Grid.Row="1">
<Image Height="800" Source="37.jpg" Stretch="Fill" Width="480" Canvas.Left="-11" x:Name="image1">
<i:Interaction.Behaviors>
<el:MouseDragElementBehavior ConstrainToParentBounds="True" Dragging="MouseDragElementBehavior_Dragging" />
</i:Interaction.Behaviors>
</Image>
</Canvas>
首先,Point currentPos = e.GetPosition(image1);
获取鼠标相对于图像的位置。也许你想得到相对于画布的位置?
或者,您可以使用它来获取画布中的位置:
canvas1.GetLeft(image1);
canvas1.GetTop(image1);
然后,你可以在画布上设置一些东西的位置,如下所示:
canvas1.SetLeft(image1, x);
canvas1.SetTop(image1, y);
要做到这一点,你需要将你的画布命名为:
<Canvas x:Name="canvas1" Margin="12,0,3,-834" Grid.Row="1">