我想在网格中显示图像
当我使用这个XAML时<Image Source="/Assets/O.png"
Grid.Column="6"
Grid.Row="5"/>
在C#中,它显示带有边框的图片:
Image img = new Image();
BitmapImage bi = new BitmapImage();
bi.UriSource = new Uri("/Assets/O.png", UriKind.Relative);
img.Stretch = Stretch.Fill;
img.Source = bi;
Grid.SetColumn(img, 6);
Grid.SetRow(img, 7);
gridGameBoard.Children.Add(img);
Image img1 = new Image();
img1.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("/Assets/X.png", UriKind.Relative));
Grid.SetColumn(img1, 4);
Grid.SetRow(img1, 4);
gridGameBoard.Children.Add(img1);
我尝试使用谷歌搜索找到BitmapImage和其他图像类型之间的任何差异,但是没有成功。
答案 0 :(得分:1)
问题是Stretch
的{{1}}属性。在XAML中,您没有定义它,因此使用默认值Image
。在C#代码中,您有Uniform
我的猜测是边框位于图片中,但是在带有img.Stretch = Stretch.Fill;
的C#代码中缩小了图片,带有Fill
的XAML变体会缩放图像并使其居中以便边框不可见。