Я экспериментировал с 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)
===
это не такпроблема с моим объектом Canvas, потому что, если я заполняю его Sprite.Fill = New SolidColorBrush(Colors.White)
, он работает нормально, и я вижу белый квадрат на моем экране, растровое изображение, о котором идет речь, устанавливается на «Копировать всегда» и находится в папке назначенияЯ вижу это.
Я не совсем уверен, что я делаю неправильно.