Пишу простенькую программу (WPF) — игру Паззлы. Застопорился на том что не могу вытащить из нижнего Scrollviewer Adorner-слой. Гугл не помог.
Основная структура юзер-интерфейса:
-Grid
--Scrollviewer
---Canvas — принимает картинку
--Scrollviewer
---Wrappanel — содержит много картинок, которые перетаскиваются на канвас
----Image's
Здравствуйте, Пушкин, Вы писали:
П>Пишу простенькую программу (WPF) — игру Паззлы. Застопорился на том что не могу вытащить из нижнего Scrollviewer Adorner-слой. Гугл не помог.
П>Основная структура юзер-интерфейса:
Должна быть такой:
ItemsControl
ItemsSource: привязываем коллекцию объектов паззлов, хранящих всякую полезную информацию
ItemTemplate: красочно описываем паззлы (используем тот Image), используем биндинги к свойствам класса паззлов
ItemsPanel: указываем какую-нибудь анимационную а-ля WrapPanel, умеющую красиво перетаскивать элементы с места на место и хранящую информацию о позиции элемента в attached-свойстве.
ItemContainerStyle: делаем биндинг attached-свойства панели к свойству класса паззла
Template: красочно описываем игровое поле (фигачим всякие ScrollViewer-ы и адорнеры, не забывая вставить в нужном месте ItemsPresenter).
Проблемы с адорнерами и прочими примитивнейшими визуальными элементами не возникают вообще, потому что мы решали задачу на правильном уровне абстракции. И Гугл уже рад нам помочь.
Re[2]: Adorner-слой в WPF или Как правильно отнаследоваться
Здравствуйте, Vladek, Вы писали:
V>Здравствуйте, Пушкин, Вы писали:
П>>Пишу простенькую программу (WPF) — игру Паззлы. Застопорился на том что не могу вытащить из нижнего Scrollviewer Adorner-слой. Гугл не помог.
П>>Основная структура юзер-интерфейса:
V>Должна быть такой:
V>ItemsControl V> ItemsSource: привязываем коллекцию объектов паззлов, хранящих всякую полезную информацию V> ItemTemplate: красочно описываем паззлы (используем тот Image), используем биндинги к свойствам класса паззлов V> ItemsPanel: указываем какую-нибудь анимационную а-ля WrapPanel, умеющую красиво перетаскивать элементы с места на место и хранящую информацию о позиции элемента в attached-свойстве. V> ItemContainerStyle: делаем биндинг attached-свойства панели к свойству класса паззла V> Template: красочно описываем игровое поле (фигачим всякие ScrollViewer-ы и адорнеры, не забывая вставить в нужном месте ItemsPresenter).
V>Проблемы с адорнерами и прочими примитивнейшими визуальными элементами не возникают вообще, потому что мы решали задачу на правильном уровне абстракции. И Гугл уже рад нам помочь.
1.В общем то понял (да и погуглил по ответу), но не совсем: V> ItemsPanel: указываем какую-нибудь анимационную а-ля WrapPanel, умеющую красиво перетаскивать элементы с места на место и хранящую информацию о позиции элемента в attached-свойстве.
Сколько не смотрел в интернетах, ни разу такого не встречал.
2.А можно простенький пример описанного на XAML? Буду благодарен
Re[3]: Adorner-слой в WPF или Как правильно отнаследоваться
Здравствуйте, Пушкин, Вы писали:
П>1.В общем то понял (да и погуглил по ответу), но не совсем: V>> ItemsPanel: указываем какую-нибудь анимационную а-ля WrapPanel, умеющую красиво перетаскивать элементы с места на место и хранящую информацию о позиции элемента в attached-свойстве. П>Сколько не смотрел в интернетах, ни разу такого не встречал.
Встречаются, но скорее всего придётся писать что-то своё.
П>2.А можно простенький пример описанного на XAML? Буду благодарен
Скачать пример пятнашек с описанной структурой интерфейса можно здесь. В качестве панели для поля с костяшками использован обычный Grid.
Спасибо, Vladek. Полгода изучения (читай:мучения) WPF и я написал курсовик. Но, конечно, не на чистом WPFe а по большей части с программными вставками. вроде даже норм получилось