2010-05-19 26 views
1

我有幾個文本塊控件,它們都調用單個事件。但我有接線個個invidividually使用Silverlight中所有控件的一個常見事件

​​3210

有沒有辦法,我可以通過一個

+0

這個問題有許多變化,你的問題不會消除歧義。在視覺樹中是否存在其他TextBlocks,您不希望該事件觸發(包括可能是其他控件模板的一部分的TextBlocks)? 這些TextBlocks是否有共同的父級?如果真的是真的是「夫妻」,那麼爲什麼還有問題呢? – AnthonyWJones 2010-05-19 12:01:38

回答

1

申請將鼠標移動到所有的TextBlock沒有它們連接一個方式,您可以通過對所有子控件循環形式並將事件處理程序添加到您找到的每個文本塊。如果這些的TextBlocks在同一個網格/不管,代碼應該看起來有點像這樣:

foreach(TextBlock vControl in GridName.Children) 
{ 
    vControl.MouseMove += new MouseEventHandler(TextBlock_MouseMove); 
} 

現在,我可能有錯的「的foreach」的一部分。它可能需要根據對象在Children集合中的存儲方式從對象進行投射。雖然如果你最終得到很多文本框,這樣做會很好,但你也可以設置文本框的樣式來在鼠標移動時發出一個命令,但這需要一堆代碼,這樣做更容易。

+0

此代碼假定所有感興趣的TextBlocks都是特定面板的直接子代,並且面板中的所有TextBlocks都是有意義的。 – AnthonyWJones 2010-05-19 12:03:01

相關問題