我正在尝试将图像设置为应用程序上的特定位置。我得到了我想通过Mouse.GetPosition
设置的位置。但是,当我尝试使用Canvas.SetLeft
时,此位置不正确。如何将其设置到我想要的位置?
注意:这是一个动态创建的Image Control到一个名为SI的Canvas上,而XC [0]是我从Mouse.GetPosition获得的X坐标。
var webimage = new BitmapImage(new Uri("C:\\Class16\\Images\\DSC_0000.jpg"));
var imageControl = new Image();
imageControl.Source = webimage;
imageControl.Width =(XC[3] - XC[0]);
imageControl.Height = (YC[1] - YC[0]);
Canvas.SetLeft(imageControl, XC[0]);
SI.Children.Add(imageControl);
获取鼠标位置的代码
private void Image_Frame_MouseDown(object sender, MouseButtonEventArgs e)
{
if (XC[3] == 0)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
if (DIP.Default.Image1BR == 0)
{
Point position = e.GetPosition(this);
XC[variant] = position.X;
YC[variant] = position.Y;
variant++;
}
}
}}
如果有帮助,这就是Canvas Xaml部分。
<Canvas x:Name="SI" Height="380" Width="720" Canvas.Left="177" Canvas.Top="31">
<Image x:Name="Image_Frame" Height="380" Width="720" Drop="Image_Frame_Drop" AllowDrop="True" MouseDown="Image_Frame_MouseDown" />
</Canvas>