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結果を得ています。

テキストなどの別のものを取得しようとすると、これらも同じ結果になります....

しかし、私はいくつかの違いがあるかもしれないと思います。

だから、私は と の主な違いを知りe.sourceたいe.OriginalSource.

4

2 に答える 2

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;            
}
于 2012-06-02T10:26:35.417 に答える
0

ドキュメントから

この originalsource プロパティは、クラス イベント ハンドラーまたはインスタンス ハンドラーが呼び出される前に一度その値を取得し、それ以降は調整されません。

ルーティング イベントでは、ハンドラーの前に他のイベントが発生している可能性があります。

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

于 2012-06-02T13:19:26.423 に答える