你好我有一个名为Layout的画布。我想在后面的代码中添加一些孩子。这是代码。
private void AddItem(int TruePosition, int CurrentPosition, string ImageFileName)
{
Image img = new Image();
img.Source = new BitmapImage(new Uri(@"/Images/" + ImageFileName, UriKind.Relative));
img.Width = 100.0;
img.Height = 400.0;
img.VerticalAlignment = System.Windows.VerticalAlignment.Bottom;
img.Stretch = Stretch.None;
Border b = new Border();
b.SetValue(Canvas.TopProperty, 200.0);
b.SetValue(Canvas.LeftProperty, (double)CurrentPosition);
b.SetValue(Canvas.ZIndexProperty, 1);
b.Background = new SolidColorBrush(Colors.Blue);
b.MouseMove += new MouseEventHandler(Border_MouseMove);
b.MouseLeftButtonDown += new MouseButtonEventHandler(Border_MouseLeftButtonDown);
b.MouseLeftButtonUp += new MouseButtonEventHandler(Border_MouseLeftButtonUp);
b.Child = img;
Layout.Children.Add(b);
UpdateLayout();
}
图像Uri可能很好,因为如果我尝试仅添加边框(没有图像),它仍然无法渲染。此外,我从按钮单击事件处理程序调用此AddItem函数,因此初始化不应该是一个问题。可能我在这里错过了一些非常基本的东西。欢迎任何想法,谢谢你的帮助。
更新:好的我可能是浏览器缓存有问题,添加了边框,但边框中的图像没有显示。在Visual Studio项目中,我有一个带有图像文件的Images目录。我设置错误的路径了吗?
答案 0 :(得分:0)
所以,现在我被允许回答。那是一个新手的错误。 不需要第一个/之前的图像。新的Uri(@“Images /”+ ImageFileName,UriKind.Relative)是正确的。