【问题标题】:Placing an image using x and y Coordinates in a WPF application在 WPF 应用程序中使用 x 和 y 坐标放置图像
【发布时间】:2020-04-06 08:34:14
【问题描述】:

我目前正在尝试使用鼠标单击坐标将随机图像插入到画布上。但是,我不确定 X 和 Y 坐标在代码中的位置。任何指针都会非常感谢!

        private void canvas1_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            Point p = Mouse.GetPosition(canvas1);
            double x = p.X;
            double y = p.Y;

            Image myImage = new Image();
            string[] imageNames = { "greenslime.png", "blueslime.png", "redslime.png", "yellowslime.png" };
            var rand = new Random();
            string imageName = imageNames[rand.Next(imageNames.Length)];

            string imageSlime = string.Concat("", imageName);            
            myImage.Source = new BitmapImage(new Uri(imageSlime, UriKind.Relative));
            myImage.Width = 200;
            myImage.Height = 200;

            canvas1.Children.Add(myImage);
        }

【问题讨论】:

    标签: c# wpf image coordinates


    【解决方案1】:

    您应该使用 Canvas.Top/Canvas.Left 附加的依赖属性。

    你应该在后面的代码中使用:

    myImage.Source = new BitmapImage(new Uri(imageSlime, UriKind.Relative));
    myImage.Width = 200;
    myImage.Height = 200;
    Canvas.SetLeft(myImage, x);
    Canvas.SetTop(myImage, y);
    canvas1.Children.Add(myImage);
    

    因为图片是放在画布中的,所以画布会用到这些属性。


    在 XAML 中是:

    <Canvas x:Name="canvas1">
        <Image Canvas.Top="10" Canvas.Left="20" Width="200" Height="200" />
    </Canvas>
    

    【讨论】:

      猜你喜欢
      • 2012-11-26
      • 1970-01-01
      • 2014-12-10
      • 2016-02-02
      • 1970-01-01
      • 2023-03-30
      • 2011-12-31
      • 1970-01-01
      • 2020-06-28
      相关资源
      最近更新 更多