2009-06-03 63 views
5

我剛開始使用WPF,需要路由事件的一些幫助。我已經添加了一些動畫的數據網格,但我似乎無法找到任何顯示我在數據網格或任何其他控件上使用的路由事件的列表。似乎是迄今爲止的猜謎遊戲。我如何獲得WPF中的內置路由事件列表

我認爲datagrid標準事件,如CellEditEnding,是它,但他們不像它說的「無效的事件名稱」。

我複製的例子使用了MouseEnter路由事件,但我不知道還有什麼可供我使用的(當然除了我自己的)。

<Window.Triggers> 
    <EventTrigger RoutedEvent="my:DataGrid.MouseEnter"> 
     <BeginStoryboard Storyboard="{StaticResource MyAnimation}"/> 
    </EventTrigger> 
</Window.Triggers> 

在此先感謝您的幫助

回答

5

在您的代碼中,調用靜態EventManager.GetRoutedEvents()方法以獲取已註冊/可用於應用程序的路由事件列表。

1

你可以得到由控制通過觀察其對MSDN文檔暴露事件的完整列表。 DataGrid有一些特殊情況,因爲它不是主框架的一部分,但只在WPF工具包中可用。但是,有關.NET的4.0版本的DataGridhere的文檔 - 雖然我不確定與控件的Toolkit版本相比如何。

如果您嘗試在您的XAML文件中爲控件本身的標籤中訂閱事件,Visual Studio應提供包含該控件的屬性和事件的智能感知。

18

這是...

[0]: {FrameworkElement.RequestBringIntoView} 
[1]: {FrameworkElement.SizeChanged} 
[2]: {FrameworkElement.Loaded} 
[3]: {FrameworkElement.Unloaded} 
[4]: {ToolTipService.ToolTipOpening} 
[5]: {ToolTipService.ToolTipClosing} 
[6]: {ContextMenuService.ContextMenuOpening} 
[7]: {ContextMenuService.ContextMenuClosing} 
[8]: {Mouse.PreviewMouseDown} 
[9]: {Mouse.MouseDown} 
[10]: {Mouse.PreviewMouseUp} 
[11]: {Mouse.MouseUp} 
[12]: {UIElement.PreviewMouseLeftButtonDown} 
[13]: {UIElement.MouseLeftButtonDown} 
[14]: {UIElement.PreviewMouseLeftButtonUp} 
[15]: {UIElement.MouseLeftButtonUp} 
[16]: {UIElement.PreviewMouseRightButtonDown} 
[17]: {UIElement.MouseRightButtonDown} 
[18]: {UIElement.PreviewMouseRightButtonUp} 
[19]: {UIElement.MouseRightButtonUp} 
[20]: {Mouse.PreviewMouseMove} 
[21]: {Mouse.MouseMove} 
[22]: {Mouse.PreviewMouseWheel} 
[23]: {Mouse.MouseWheel} 
[24]: {Mouse.MouseEnter} 
[25]: {Mouse.MouseLeave} 
[26]: {Mouse.GotMouseCapture} 
[27]: {Mouse.LostMouseCapture} 
[28]: {Mouse.QueryCursor} 
[29]: {Stylus.PreviewStylusDown} 
[30]: {Stylus.StylusDown} 
[31]: {Stylus.PreviewStylusUp} 
[32]: {Stylus.StylusUp} 
[33]: {Stylus.PreviewStylusMove} 
[34]: {Stylus.StylusMove} 
[35]: {Stylus.PreviewStylusInAirMove} 
[36]: {Stylus.StylusInAirMove} 
[37]: {Stylus.StylusEnter} 
[38]: {Stylus.StylusLeave} 
[39]: {Stylus.PreviewStylusInRange} 
[40]: {Stylus.StylusInRange} 
[41]: {Stylus.PreviewStylusOutOfRange} 
[42]: {Stylus.StylusOutOfRange} 
[43]: {Stylus.PreviewStylusSystemGesture} 
[44]: {Stylus.StylusSystemGesture} 
[45]: {Stylus.GotStylusCapture} 
[46]: {Stylus.LostStylusCapture} 
[47]: {Stylus.StylusButtonDown} 
[48]: {Stylus.StylusButtonUp} 
[49]: {Stylus.PreviewStylusButtonDown} 
[50]: {Stylus.PreviewStylusButtonUp} 
[51]: {Keyboard.PreviewKeyDown} 
[52]: {Keyboard.KeyDown} 
[53]: {Keyboard.PreviewKeyUp} 
[54]: {Keyboard.KeyUp} 
[55]: {Keyboard.PreviewGotKeyboardFocus} 
[56]: {Keyboard.GotKeyboardFocus} 
[57]: {Keyboard.PreviewLostKeyboardFocus} 
[58]: {Keyboard.LostKeyboardFocus} 
[59]: {TextCompositionManager.PreviewTextInput} 
[60]: {TextCompositionManager.TextInput} 
[61]: {DragDrop.PreviewQueryContinueDrag} 
[62]: {DragDrop.QueryContinueDrag} 
[63]: {DragDrop.PreviewGiveFeedback} 
[64]: {DragDrop.GiveFeedback} 
[65]: {DragDrop.PreviewDragEnter} 
[66]: {DragDrop.DragEnter} 
[67]: {DragDrop.PreviewDragOver} 
[68]: {DragDrop.DragOver} 
[69]: {DragDrop.PreviewDragLeave} 
[70]: {DragDrop.DragLeave} 
[71]: {DragDrop.PreviewDrop} 
[72]: {DragDrop.Drop} 
[73]: {Touch.PreviewTouchDown} 
[74]: {Touch.TouchDown} 
[75]: {Touch.PreviewTouchMove} 
[76]: {Touch.TouchMove} 
[77]: {Touch.PreviewTouchUp} 
[78]: {Touch.TouchUp} 
[79]: {Touch.GotTouchCapture} 
[80]: {Touch.LostTouchCapture} 
[81]: {Touch.TouchEnter} 
[82]: {Touch.TouchLeave} 
[83]: {FocusManager.GotFocus} 
[84]: {FocusManager.LostFocus} 
[85]: {ManipulationDevice.ManipulationStarting} 
[86]: {ManipulationDevice.ManipulationStarted} 
[87]: {ManipulationDevice.ManipulationDelta} 
[88]: {ManipulationDevice.ManipulationInertiaStarting} 
[89]: {ManipulationDevice.ManipulationBoundaryFeedback} 
[90]: {ManipulationDevice.ManipulationCompleted} 
[91]: {Control.PreviewMouseDoubleClick} 
[92]: {Control.MouseDoubleClick} 
[93]: {ScrollViewer.ScrollChanged} 
[94]: {ScrollBar.Scroll} 
[95]: {Thumb.DragStarted} 
[96]: {Thumb.DragDelta} 
[97]: {Thumb.DragCompleted} 
[98]: {RangeBase.ValueChanged} 
[99]: {TextBoxBase.TextChanged}