2014-01-17 28 views
3

此代碼的工作使用的SetValue添加事件處理程序

TextBlock tbTest = new TextBlock(); 
tbTest.MouseRightButtonDown += new MouseButtonEventHandler(cc_CopyToClip); 

但我需要做同樣的事情用的SetValue
這不工作 - 編譯器錯誤

FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock)); 
textblock.SetValue(TextBlock.MouseRightButtonDownEvent, += new MouseButtonEventHandler(cc_CopyToClip)); 

如何分配一個通過SetValue的事件處理程序?

回答

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip)); 

回答

3

它不依賴屬性使用SetValue。您可以使用AddHandler添加路由事件處理程序。

+0

我看着正確的,它沒有點擊 – Paparazzi

8

要分配/取消分配路由事件處理程序FrameworkElementFactoryAddHandlerRemoveHandler方法。所以你的電話應該是這樣的:

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip)); 
相關問題