我一直在尝试使用 Windows 8 和 Metro UI,我已经编写了一个完全合理的位图图像加载,但它似乎没有加载,感谢任何帮助。
Public Sub New(Image As String)
Debug.Print("ms-resource://MyAssembly/" & Image)
Img = New ImageBrush()
Dim Bitmap As New BitmapImage()
Bitmap.UriSource = New Uri("ms-resource://MyAssembly/" & Image, UriKind.Absolute)
Img.ImageSource = Bitmap
Width = Bitmap.PixelWidth
Height = Bitmap.PixelHeight
Debug.Print("Height: " & Height & " Width: " & Width)
End Sub
在此示例中,宽度和高度始终采用零值。它在同一个类中呈现..
Public Sub Render(X As Integer, Y As Integer, Canv As Canvas)
Dim Sprite As New Shapes.Rectangle
Sprite.Width = CDbl(Width)
Sprite.Height = CDbl(Height)
Sprite.Fill = Img
Sprite.SetValue(Canvas.TopProperty, CDbl(Y))
Sprite.SetValue(Canvas.LeftProperty, CDbl(X))
Canv.Children.Add(Sprite)
End Sub
End Class
这是创建/调用它的地方:
V = New Sprite("Images/Test.bmp")
gameRoot.Children.Clear()
V.Render(100, 100, gameRoot)
===
这不是我的画布对象的问题,因为如果我用它填充它, Sprite.Fill = New SolidColorBrush(Colors.White)
它就可以正常工作,并且我在屏幕上看到一个白色方块,有问题的位图设置为“始终复制”,并且位于目标文件夹中当我查看它时。
我不太确定我做错了什么。