2014-09-03 3 views
0

Я вернулся! И больше вопросов Silverlight (yay!)Справка по массиву изображений в Silverlight

Я пытаюсь создать массив изображений в Silverlight, но изображения не отображаются на странице. Вот мой код:

Public imgImages(50) As Image 

Public Sub Create_Image_Array() 

    Dim I As Integer 

    For I = 0 To 50 
     imgImages(I) = New Image 

     imgImages(I).SetValue(Canvas.LeftProperty, System.Convert.ToDouble(0)) 
     imgImages(I).SetValue(Canvas.TopProperty, System.Convert.ToDouble(0)) 
     imgImages(I).Name = "imgImages" & I 

     imgImages(I).Width = System.Convert.ToDouble(18) 
     imgImages(I).Height = System.Convert.ToDouble(18) 

     imgImages(I).Source = New BitmapImage(New Uri("/Resources/yellow2.png", UriKind.Relative)) 
     imgImages(I).Visibility = Windows.Visibility.Visible 
     AddHandler imgImages(I).MouseLeftButtonUp, AddressOf ImageClickEventProc 

    Next I 

End Sub 

Public Sub Draw_Images() 
    For I = 1 To secObject.intNumberOfImages 

     imgImages(I).SetValue(Canvas.LeftProperty, System.Convert.ToDouble(secObject.Images(I).intPosX)) 
     imgImages(I).SetValue(Canvas.TopProperty, System.Convert.ToDouble(secObject.Images(I).intPosY)) 
     imgImages(I).Visibility = Windows.Visibility.Visible 
    Next I 
End Sub 

Массив изображения создается, когда страница переходите к, а затем страница запрашивает информацию о местоположении с сервера и как только он имеет такую ​​информацию, которую он устанавливает X и Y координаты изображений. Вся эта часть работает нормально - это, по-видимому, легкая часть. Вся информация о координатах получена и хранится в secObject, данные есть. URI для ресурса изображения есть, и он действителен, я проверил его с другим элементом управления изображением на странице.

Проблема в том, что маленькие изображения не отображаются. Я попробовал множество способов заставить их отображать. Я нашел код в Google, который выполняет почти то же самое, что я пытаюсь сделать, и он написан аналогичным образом только для неармированных изображений.

Я также попробовал другое предложение, чтобы использовать TranslateTransform для установки позиций изображений. Это ничего не делало.

Dim tt As New TranslateTransform 

tt.X = secObject.Images(I).intPosX 
tt.Y = secObject.Images(I).intPosY 
imgImages(I).RenderTransform = tt 

Я также удалил фоновое изображение на экране, думая, что, может быть, изображения были оказывающими ниже фона, и что это не так.

Я что-то упустил? Я признаю, чтобы быть Silverlight n00b ...

Благодаря -RW

+0

Silverlight является почти мертв в воде. –

+0

Silverlight - это боль в шее ... – redwizard000

ответ

0

Хорошо, я наконец понял это ... Мне нужно создать добавить элементы управления на холсте:

LayoutRoot.Children.Add(imgImages(I)) 
Смежные вопросы