| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Custom Control от ScrollViewer |
| Автор: Geniy00 10.11.2011, 13:00 | ||||||
| Доброе утро. У меня проблема с WPF Хочу создать Custom Control от ScrollViewer, со свойством зависимости VerticalOffset(для программного скроллинга) У меня все компилируется, но ExtendedScrollViewer не хочет прокручиваться через свойство зависимости. (для теста я свойство зависимости устанавливаю в коде MainWindow.xaml) Помогите разобраться, почему не работает? Структура проекта: ![]() ExtendedScrollViewer.cs
Generic.xaml
MainWindow.xaml
|
| Автор: Gvozdin 10.11.2011, 13:58 |
| А если напрямую дернуть ScrollToVerticalOffset в MainWindow.OnLoad? |
| Автор: Geniy00 10.11.2011, 14:23 | ||||||
Ничего не произошло тоже. Я сделал так, то что ты просил:
|
| Автор: Gvozdin 10.11.2011, 20:10 |
| Странно почему в Load не срабатывает это все. Дело может быть в том, что VerticalOffset устанавливается слишком рано, до того как все готово к работе. А если заменить ExtendedScrollViewer на простой ScrollViewer, и ScrollTo вызвать через Dispatcher.BeginInvoke(Background)? |
| Автор: Gvozdin 10.11.2011, 22:35 | ||||
А вот зачем переопределять шаблон скроллера?
Зачем внутрь ScrollViewer пихать ScrollViewer? Конечно ничего скролить не будет, тк внутренний ScrollViewer ни кто не трогает. Ну если уж хочется что-то поменять, то можно взять шаблон по умолчанию в Бленде:
|
| Автор: Geniy00 10.11.2011, 23:04 | ||
| Gvozdin, Спасибо Вам, очень помогли. Теперь работает. 1)Я вижу Вы хорошо разбираетесь в этом всем, какие книги по WPF стоило бы прочитать? (А то макдональд очень плохо рассказывает, а Адам Нетхен не всегда хорошо понимается на англ. языке) 2)Скажите, а есть какая то разметка что бы избежать предупреждения: Warning *** hides inherited member **. Use the new keyword if hiding was intended. Нужно было сделать так просто: Generic.xaml
|
| Автор: Gvozdin 11.11.2011, 20:40 |
| Книги не знаю, общие моменты можно прочесть в любой. Далее разбираться конкретно с отдельными вещами, в интернете масса всего написано. "Use the new keyword if hiding was intended." - все собственно сказано, это уже про C# |