我在 silverlight 上有一个页面,它有一个文本框,我需要处理文本框上的 GotFocus 事件,但问题是这个特定事件分布在所有对象图上,所以当任何其他对象抛出 GotFocus 事件时,文本框的 GotFocus我也想处理程序
问问题
84 次
1 回答
1
GotFocus 是一个路由事件,这意味着它将沿着可视树向上工作,直到有东西将其标记为已处理。
您正在描述事件类型所期望的内容。
如果事件继续“冒泡”而产生一些不良副作用。您可以将事件标记为已处理以停止它。
您还可以检查事件的 OriginalSource 属性以查看该事件是否源自您的 TextBox。
void OnGotFocus(object sender, RoutedEventArgs e)
{
var myTextBox = e.OriginalSource as TextBox;
if(myTextBox != null && myTextBox.Name == "MyTextBoxName")
{
e.Handled = true;
}
}
于 2013-01-30T18:54:13.073 回答