2
我有以下情況:如何在XAML中的特定位置觸發路由事件?
stackpanel包含一些元素,包括一些包含在GroupBox中的元素。因此,像這樣:
<StackPanel x:Name="stackpanel" Background="White">
<TextBlock Text="TextBlock"/>
<TextBlock Text="Another TextBlock"/>
<!--plus a load of other elements and controls-->
<GroupBox Header="GroupBoxHeader">
<TextBlock Text="Text inside GroupBox"/>
</GroupBox>
</StackPanel>
我想的MouseDown在StackPanel中引發一些故事板,所以我增加了一個EventTrigger,如下所示:
<EventTrigger RoutedEvent="Mouse.MouseDown" SourceName="stackpanel">
<BeginStoryboard Storyboard="{StaticResource OnMouseDown1}"/>
</EventTrigger>
這幾乎是正確的,但事情是 - 我不希望MouseDown被GroupBox的標題或邊框拾取,只能通過其內容拾取。換句話說,當有人對StackPanel內的任何東西進行了mousedown時,我想讓Storyboard開始,除了GroupBox標題和邊框。
有沒有這樣做的一些方法? (我已經嘗試在GroupBox上設置e.Handled爲true,但是它的內容不再接受mousedown。)
正是我在找的東西。謝謝! – cfouche 2010-03-12 15:04:59