private void txt_f_name_TextChanged(object sender, TextChangedEventArgs e)
{
string textbox_name_1,textbox_name_2;
TextBox textbox_1 = (TextBox)e.Source;
textbox_name1= textbox_1.Text;
TextBox textbox_2 = (TextBox)e.OriginalSource;
textbox_name_2;= textbox_2.Text;
}
现在textbox_name_1
和textbox_name_2
的结果都相同。
如果我试图获得另一种东西,比如文本,等等......这些也会得到相同的结果......
但我认为可能会有所不同。
所以,我想知道e.source
和e.OriginalSource
之间的主要区别。
答案 0 :(得分:0)
有些情况源和原始来源不同。
可以调整源的常见情况包括内容元素 在控件的内容模型中(列表项的内容,用于 实例,将报告列表项元素作为源和 列表项中的实际元素将是OriginalSource。
来自MSDN:
我不确定你尝试用你的代码做什么。检查源和原始源文本属性如下所示,您可以通过添加带有文本框的项目的列表视图来执行相同的操作。
private void txt_f_name_TextChanged(object sender, TextChangedEventArgs e)
{
string textbox_name_1,textbox_name_2;
TextBox textbox_1 = (TextBox)e.Source;
textbox_name1= textbox_1.Text;
TextBox textbox_2 = (TextBox)e.OriginalSource;
textbox_name_2 = textbox_2.Text;
}
答案 1 :(得分:0)
来自文档
此originalsource属性在调用类事件处理程序或任何实例处理程序之前获取其值一次,并且在此之后永远不会调整。
对于路由事件,其他事件可能在处理程序之前触发。
[OriginalSourece] [1] http://msdn.microsoft.com/en-us/library/system.windows.routedeventargs.originalsource.aspx