Привет, я изучаю WPF и сейчас читаю о RoutedEvents.В книге "Pro WPF в c #" есть фрагмент кода, который я представляю ниже
<Window x:Class="RoutedEventsLearning.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" MouseUp="SomethingClicked" >
<Grid Margin="3" MouseUp="SomethingClicked">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Label Margin="5" Grid.Row="0" HorizontalAlignment="Left"
Background="AliceBlue" BorderBrush="Black" BorderThickness="1"
MouseUp="SomethingClicked">
<StackPanel MouseUp="SomethingClicked">
<TextBlock Margin="3"
MouseUp="SomethingClicked">
Image and text label</TextBlock>
<Image Stretch="None"
MouseUp="SomethingClicked" />
<TextBlock Margin="3"
MouseUp="SomethingClicked">
Courtesy of the StackPanel</TextBlock>
</StackPanel>
</Label>
<ListBox Grid.Row="1" Margin="5" Name="lstMessages"></ListBox>
<CheckBox Grid.Row="2" Margin="5" Name="chkHandle">
Handle first event</CheckBox>
</Grid>
</Window>
Дело в том, что я не вижу разницы / преимущества маршрутизируемых событий (судя по этому примеру).В обычном C # я делал бы то же самое - добавлял обработчик к каждому элементу в моей форме (как это было сделано здесь).
Сначала, когда я читал о перенаправленных событиях, кажется, что это работает именно так.Я добавляю обработчик событий для родителя всех визуальных элементов в моей форме / элементе управления / окнах.Если я нажимаю на child, событие mousedown поднимается и проходит через визуальное дерево.Если событие достигает сетки, вызывается обработчик события.Однако я был неправ или я поступил неправильно.Может ли кто-нибудь объяснить мне разницу между обычными событиями и перенаправленными событиями
Править Что-то странное происходит при вставке кода.Из всего фрагмента кода я получаю только тег