代码重组和基页

时间:2012-06-26 18:58:49

标签: windows-phone-7 silverlight-4.0 windows-phone-7.1 xna-4.0

我有一个Windows Phone 7.5 / Silverlight应用程序。

我有一些代码在某些意义上我在大多数页面上都是重复的。 例如代码重复:

1:OnNavigatedTo - 我停止动画,清除BackStack,添加事件处理程序(每页都有相同的事件),等等。

2:OnNaviateFrom - 我停止动画并将它们设置为null,删除事件处理程序,停止所有声音,处理声音效果和实例等。

3:OnInitilalizeComponent - 我设置了SoundEffects

4:在图像上单击我播放SoundEffects

那么最好的方法是什么,所以我不必在所有页面中复制代码?

我在考虑一些基类或页面?

任何想法都非常感激。谢谢。

1 个答案:

答案 0 :(得分:0)

如果你在每个页面中做同样的事情,那么基本的Page类非常有意义。

public class MyPhoneApplicationPage : PhoneApplicationPage
{
    public MyPhoneApplicationPage()
    {
        this.Loaded += OnLoaded;
    }

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedFrom(e);
        // Do Stuff
    }

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        // Do Stuff
    }

    private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
    {
        //set up my SoundEffects
    }
}