Где должен быть реализован IScrollInfo: View или ViewModel? - PullRequest
3 голосов
/ 16 февраля 2011

Мне нужно реализовать интерфейс IScrollInfo, который является чудовищным из того, что я прочитал.Но я борюсь с тем, где это должно быть реализовано.

Я думаю, что это должно быть в представлении, потому что в методе MakeVisible есть ссылка на Visual.Кроме того, ScrollViewer будет искать интерфейс IScrollInfo, когда вы устанавливаете CanContentScroll = "True".Это означает, что пользовательская панель, которая размещает мои объекты, должна будет наследовать ViewModel или обернуть ViewModel в представление, вызывая реализацию виртуальной машины.1007 *

Ответы [ 2 ]

4 голосов
/ 16 февраля 2011

Я вижу IScrollInfo в чистом виде. Он представляет собой «прокручиваемый регион», который не имеет значения вне определенного представления. В «прокручиваемой области» нет бизнес-логики, и поэтому она должна быть полностью исключена из ViewModel.

0 голосов
/ 16 февраля 2011

Вы реализуете IScrollInfo на пользовательской панели. Как таковой он является особым. Однако есть поворот. Из-за неприглядной модели для элементов управления WPF сам элемент управления является своего рода моделью представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...