2016-06-28 3 views
1

Windows Phone 용 업로드 응용 프로그램을 만드는 중,이 기능은 클래스 B (SecondPage)에 있습니다. 업로드 작업이 있습니다.이 작업이 완료되면 이벤트가 호출되고 작업이 완료되었음을 클래스 A (MainPage)에 알립니다. 사이트를 둘러보고 몇 가지 해결책을 찾았지만 많은 도움이되지 않습니다.다른 페이지 Windows Phone에서 이벤트를 호출하는 방법?

  1. Notify when event from another class is triggered

  2. Raise an event of a class from a different class in C#

  3. Understanding events and event handlers in C#

  4. C# event handling (compared to Java)

  5. C#: Need one of my classes to trigger an event in another class to update a text box

  6. ,

여기 너희들이 나를 도와주세요 수 MainClass

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 
     this.NavigationCacheMode = NavigationCacheMode.Required; 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     SecondPage sp = new SecondPage(); 
     sp.clearHandler += Sp_clearHandler; 
    } 

    private void Sp_clearHandler(object sender, EventArgs e) 
    { 
     txt.Text = ""; 
    } 

    private void btnJump_Tapped(object sender, TappedRoutedEventArgs e) 
    { 
     Frame.Navigate(typeof(SecondPage)); 
    } 
} 

텍스트 상자라는 이름의 TXT가 지워지지 않습니다에서 SecondPage

public sealed partial class SecondPage : Page 
{ 
    public event EventHandler clearHandler = delegate { }; 
    public SecondPage() 
    { 
     this.InitializeComponent(); 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
    } 

    private void btnClear_Tapped(object sender, TappedRoutedEventArgs e) 
    { 
     //some works 
     if (clearHandler != null) 
      clearHandler(this, null); 
    } 
} 

에 내 코드입니다, 감사합니다! 당신이 좋아하는 THN

YesNoStatus = new ObservableCollection<string>(); 
     YesNoStatus.CollectionChanged += YesNoStatus_CollectionChanged; 

와 이벤트 방법을 통지 할

답변

0
you can use ObservableCollection for notify one page to another. 


public static ObservableCollection<string> YesNoStatus { get; internal set; } 

: - 그것은 통지합니다 ..thn 당신의 작업이 완료된 후

private void YesNoStatus_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) 
    { 
     ObservableCollection<string> obsSender = sender as ObservableCollection<string>; 
    } 

이 컬렉션에 무언가를 추가 할 수 있습니다.