我有一個數據網格,並且我將silverlight 4工具包contextmenu添加到datagrid中的文本框中,如下所示。當用戶右鍵單擊文本框時,正在顯示contextmenu。當用戶點擊標題爲「測試」的菜單項時,「MenuItem_Click」正在執行。現在我想從MenuItem_Click訪問文本框,並修改其背景等屬性。無論如何,從MenuItem_Click事件找到文本框元素(這是contextmenu的父母)?Silverlight 4:如何從contextmenu的menuitem_click中找到源UI元素?
在我看來,我很想念一件非常簡單的事情。
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AcctId}"
Style="{StaticResource documentTextBoxStyle}"
ToolTipService.ToolTip="Right Click to modify parameters" >
<toolkit:ContextMenuService.ContextMenu >
<toolkit:ContextMenu >
<toolkit:MenuItem Header="Test" Click="MenuItem_Click"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBox>
</DataTemplate>
問題似乎是ContextMenu不是VisualTree中TextBox的子項,這意味着你甚至無法搜索在代碼中就是這樣。我希望有人回答這個問題。 – 2010-05-03 17:37:59