bal*_*dre 6 c# initialization windows-phone-7
在几个在线示例中我发现了这个:
public partial class ForecastPage : PhoneApplicationPage
{
Forecast forecast;
public ForecastPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// code here
}
}
Run Code Online (Sandbox Code Playgroud)
但在其他人中我发现Load事件的使用就像
public partial class Person : PhoneApplicationPage
{
private PersonViewModel _ViewModel;
public Person()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(SearchView_Loaded);
}
void SearchView_Loaded(object sender, RoutedEventArgs e)
{
// code here
}
}
Run Code Online (Sandbox Code Playgroud)
我知道OnNavigatedTo在Load事件发生之前会发生火灾,但是在用户手机被吸入手机之前都会触发,所以我的问题是使用另一种方法有什么优势吗?
Vit*_*nko 25
我不同意Tigran.
public View()
{
InitializeComponent();
personList.ItemsSource = PersonDataSource.CreateList(100);
Loaded += (sender, args) => Debug.WriteLine("Loaded");
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine("Navigated");
}
Run Code Online (Sandbox Code Playgroud)
在向前 - 向后跳跃时,输出是
Navigated Loaded Navigated Loaded Navigated Loaded
因此,OnNavigated在页面导航完成时,但在加载页面控件之前(期间)Loaded调用,而在页面准备就绪并且加载所有控件时调用.
阅读文档OnNavigatedTo:
当页面成为框架中的活动页面时调用.
当我们阅读有关Loaded活动时,请参阅:
在构造FrameworkElement并将其添加到对象树时发生.
它们是完全不同的,因为页面,如果我错了就纠正我,active在你的应用程序的生命周期中可以变得多一次,但FrameworkElement 通常会发生一次.
| 归档时间: |
|
| 查看次数: |
15078 次 |
| 最近记录: |