Вынуть объект «из потока документов» в Silverlight, с тем же эффектом, что и CSS Absolute Positioning? - PullRequest
0 голосов
/ 10 августа 2011

При использовании Silverlight 4 возможно ли установить изображение в абсолютное положение и вывести его из потока документов, позволяя свободно размещать его в любых сетках и т. Д.?

С помощью CSS вы можете установить элемент для использования абсолютного позиционирования, и тогда он будет позиционироваться как абсолютный, основываясь на первом относительном родителе над ним.

Я хочу иметь возможность разместить изображение в любом месте экрана, выше всего на странице, но в Silverlight.

Я пробовал абсолютное позиционирование (в приведенном ниже коде), и, похоже, оно не позиционируется правильно, похоже, что по умолчанию используется горизонтальное выравнивание и вертикальное выравнивание "Центр"

CustomIcon.Source = new BitmapImage(new Uri("http://media.trueachievements.com/imagestore/0000149800/149834.jpg", UriKind.Absolute));
        CustomIcon.SetValue(Canvas.LeftProperty, Pt.X);
        CustomIcon.SetValue(Canvas.TopProperty, Pt.Y);
        CustomIcon.Visibility = System.Windows.Visibility.Visible;

Pt установлен правильно в другом месте (проверено это при отладке).

Изображение находится в Xaml с установленным атрибутом x: Name и по умолчанию установлено как Свернутая видимость.

Есть идеи, можно ли получить тот же эффект, который я описал (CSS), но с использованием Silverlight 4?

1 Ответ

1 голос
/ 10 августа 2011

Прикрепленные свойства Canvas Left и Top вступают в силу только в том случае, если вы фактически добавляете элемент управления к элементу Canvas.

Просто добавьте элемент Canvas в ваш xaml как последний элемент в ""LayoutRoot "сетка.Вам не нужно устанавливать его ширину или высоту, а также не следует задавать их Grid.Row или Column.

Теперь, когда вы добавляете элементы на этот холст, их можно расположить где угодно.

...