如何从其他页面Windows Phone调用事件?

时间:2016-06-28 10:23:05

标签: c# delegates windows-phone eventhandler

我为Windows Phone制作了一个上传应用程序,该功能在B类(SecondPage),我有一个上传任务,当这个任务完成时,它调用一个事件并通知A类(MainPage)该任务是完成并做了一些事情,环顾网站,我找到了一些解决方案,但他们没有多大帮助(只是我认为)。

  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. 以下是我在SecondPage中的代码

    if (order != null)
    {
        name += " " + order + extension;
    }
    else
    {
        name += extension;
    }
    

    在MainClass中

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

    没有清除名为txt的TextBox,你能帮助我吗,谢谢!

1 个答案:

答案 0 :(得分:0)

you can use ObservableCollection for notify one page to another.


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

你要通知

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

及其事件方法如: -

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

在操作完成后在此集合中添加内容..它将通知。