WPF: Как можно получить положение изображения, которое в элементе ListView? - PullRequest
0 голосов
/ 12 июля 2010

ListViewItem Содержит одну миниатюру,

при наведении мыши на миниатюру, я хочу показать большое изображение,

центр должен быть равен между миниатюрой и большим изображением,

есть предложения?

извините за мой плохой английский, есть фото о моей идее, может быть, вы видите, что я сказал: http://farm5.static.flickr.com/4100/4788840950_7d952a384c_b.jpg

Ответы [ 3 ]

1 голос
/ 12 июля 2010

Вы можете поместить большое изображение внутри элемента представления списка (например, в сетке) и использовать RenderTransform для масштабирования большого изображения до полного размера без изменения макета представления списка.

Или, есливы хотите сделать работу самостоятельно, используйте Visual.TransformToDescendant или Visual.TransformToAncestor

0 голосов
/ 12 июля 2010

Извините, я не совсем понял вопрос, но вы можете использовать преобразование, чтобы расположить миниатюру против любого визуального предка с помощью метода

var transform = thumbnail.TransformToAncestor(AnyAncestorControl);

, затем вы можете использовать это преобразование, вызвать метод Transform(), чтобы получить границы относительно AnyAncestorControl (который обычно является вашим корнем вашей страницы / элемента управления), и использовать эту переменную bounds для позиционирования нового большего размера изображение.

НТН

0 голосов
/ 12 июля 2010

Вам следует реализовать шаблон FlyWeight, подробно описанный в книге Джудит Бишоп C # 3.0 Design Patterns, опубликованной О'РЕЙЛИКак только вы внедрите презентацию FlyWeight, другая работа будет простой.Затем вам просто нужно навести указатель мыши на повышение DataTemplate, чтобы показать ваше изображение в полный размер.

...