2012-06-02 3 views
0
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 получают тот же результат.Динамически получить имя TextBox в

если я пытаюсь получить другую вещь, как текст, с и т.д. ... они также получают один и тот же результат ....

, но я думаю, что может быть какая-то разница.

поэтому, я хочу знать основное различие между e.source и e.OriginalSource.

ответ

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;    
} 
0

Из документации

Это свойство OriginalSource приобретает свое значение один раз, прежде чем обработчики событий класса или любые обработчики экземпляра вызываются, и никогда не корректируются мимо этой точки.

С проложенными событиями другие события могут быть запущены перед вашим обработчиком.

[OriginalSourece] [1] http://msdn.microsoft.com/en-us/library/system.windows.routedeventargs.originalsource.aspx

Смежные вопросы