Основы проектирования интерфейсов с использованием технологии Windows Presentation Foundation. Шамшев Ан. Б. - 119 стр.

UptoLike

Составители: 

119
бытия через упаковщик свойства. Это объясняется тем, что метод
UIElement.AddHandler() поддерживает все события WPF и не знает о
том, какой тип делегата нужно использовать.
Некоторые разработчики предпочитают использовать имя клас-
са, в котором определено событие, а не имя класса, сгенерировавшего
событие. Ниже показан эквивалентный синтаксис, наглядно демонст-
рирующий, как событие MouseUpEvent определено в UIElement.
img.AddHandler(UIElement.MouseUpEvent,new
MouseButtonEventHandler(img_MouseUp));
Если нужно отсоединить обработчик события, то единственным
решением в этом случае является написание соответствующего кода.
Для этого можно воспользоваться операцией, показанной ниже:
img.MouseUp‐=img_MouseUp;
Или же можно вызвать метод UIElement.RemoveHandler ():
img.RemoveHandler(Image.MouseUpEvent,new
MouseButtonEventHandler(img_MouseUp));
5.2. Маршрутизация событий
Как упоминалось выше, многие элементы управления в WPF яв-
ляются элементами управления содержимым, которые могут иметь
разный тип и разный объем вложенного содержимого. Например,
можно создать графическую кнопку без формы, создать метку, кото-
рая будет совмещать текст и рисунки, или поместить содержимое в
специальный контейнер, чтобы его можно было прокручивать или
разворачивать окно во весь экран. Можно даже повторять процесс
«вкладывания» необходимое количество раз.
При этом возникает следующий вопрос. Например, предполо-
жим, что имеется метка, в которой содержится панель StackPanel, и
вместе они формируют два блока текста и изображения:
<LabelBorderBrush="Black"BorderThickness="1">
<StackPanel>
<TextBlockMargin="3">Imageandtextlabel</TextBlock>