19 / 18 / 7
Регистрация: 16.05.2017
Сообщений: 436
1

Передача события произошедшего в родителе ребенку

05.10.2018, 15:56. Показов 447. Ответов 3
Метки нет (Все метки)

Есть код:
XML
1
2
3
4
5
6
7
<ScrollViewer x:Name="CanvasViewer"  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
 
 
                                            <universMap:CanvasMaps 
                                                                    Focusable="True" 
                                                                    SnapsToDevicePixels="True" />
                                        </ScrollViewer>
Нужно передать событие ScrollChanged в UserControl, который находится внутри ScrollViewer. Как это сделать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2018, 15:56
Ответы с готовыми решениями:

Передача информации о родителе кнопки
Здравствуйте. Есть собственный класс который должен рисовать VCL объект(например кнопку) с...

Передача функции от Родителя к Ребенку
У родителя есть функция updateText() {} нужно передать ее ребенку, чтобы там использовать -...

Передача события
Подскажите, как передать событие в label при клике по картинке. Например текущую скорость &lt;Grid ...

Передача события
Такой наверное глупый, но запутанный вопрос. Есть &quot;основной код&quot;. Есть класс Hero, объявлений в...

3
Эксперт .NET
1794 / 1305 / 424
Регистрация: 10.06.2011
Сообщений: 2,106
05.10.2018, 16:33 2
Вы хотите захардкодить CanvasMaps на работу со ScrollViewer? Если так, то просто передайте ссылку на ScrollViewer и подпишитесь на ScrollChanged
XML
1
<universMap:CanvasMaps ScrollViewer="{x:Reference CanvasViewer}" />
Где ScrollViewer будет DependencyProperty.

По-нормальному же следует создать 2 DependencyProperty HorizontalOffset и VerticalOffset, которые будут привязываться к HorizontalOffset и VerticalOffset соответственно ScrollViewer'а
XML
1
2
<universMap:CanvasMaps HorizontalOffset="{Binding ElementName=CanvasViewer, Path=HorizontalOffset, Mode=OneWay}"
                       VerticalOffset="{Binding ElementName=CanvasViewer, Path=VerticalOffset, Mode=OneWay}" />
1
19 / 18 / 7
Регистрация: 16.05.2017
Сообщений: 436
05.10.2018, 16:36  [ТС] 3
А почему захардкорить? Второй вариант вполне подойдет, тем более что меня интересует только Vertical составляющая. Спасибо
0
Эксперт .NET
1794 / 1305 / 424
Регистрация: 10.06.2011
Сообщений: 2,106
05.10.2018, 17:51 4
Цитата Сообщение от BaredJJ Посмотреть сообщение
А почему захардкорить?
Потому что элементам не следует знать о существовании друг друга. Это усложняет переиспользование элементов. Лучше, если они будут автономными. А если надо, то значения можно привязать друг другу, используя Binding
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2018, 17:51

Передача события в делегате
Всем привет! Народ, у меня тут есть вот такое учебное задание: Разработать класс - коллекцию,...

Передача события далее по иерархии
Добрый день! Пытаюсь сквозь MouseArea прокинуть clicked событие в находящийся под ним TextArea,...

Создание события и передача его
Всем здраствуйте! У меня есть вопрос: Я нажимаю клавишу +, событие попадает в keyTyped(KeyEvent...

Передача события в функцию библиотеки
Доброго времени суток, переписываю некоторый код с плюсов... есть функция в Dll-ке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru