silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了The run order about Loaded event and OnApplyTemplate in custom control of Silverlight 2 beta 2,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
I' ve created a customer control MenuLink.cs in silverlight 2beta2,
and the code like this: public class MenuLink : Control
{ public MenuLink( )
{ DefaultStyleK
I' ve created a customer control MenuLink.cs in silverlight 2beta2,and the code like this:
-
@H_618_23@public @H_618_23@class MenuLink : Control
- {
-
@H_618_23@public MenuLink( )
- {
-
DefaultStyleKey = @H_618_23@typeof(MenuLink);
-
@H_618_23@this.Loaded += @H_618_23@new routedEventHandler(MenuLink_Loaded);
- }
-
@H_618_23@void MenuLink_Loaded(@H_618_23@object sender, routedEventArgs E)
- {
-
- }
-
-
@H_618_23@public @H_618_23@override @H_618_23@void OnApplyTemplate()
- {
-
@H_618_23@base.onApplyTemplate();
- }
- }
There is a canvas named 'canMenu' in page 'Page.xaml',and i add the menulink into the canvas dynamicly:
-
@H_618_23@public Page()
- {
- initializeComponent();
-
@H_618_23@this.Loaded += @H_618_23@new routedEventHandler(Page_Loaded);
- }
-
@H_618_23@void Page_Loaded(@H_618_23@object sender, routedEventArgs E)
- {
- MenuLink ml = @H_618_23@new MenuLink(@H_618_23@true);
- canMenu.Children.Clear();
- canMenu.Children.Add(ml);
-
}
In this situation,the event in MenuLink.cs are called by this orders:
-
1. @H_618_23@public MenuLink( @H_618_23@bool a )
-
2. @H_618_23@void MenuLink_Loaded(@H_618_23@object sender, routedEventArgs E)
-
3. @H_618_23@public @H_618_23@override @H_618_23@void OnApplyTemplate()
But if i add the menulink after downloading a xml file in page.cs like this:
-
@H_618_23@public Page()
- {
- initializeComponent();
-
@H_618_23@this.Loaded += @H_618_23@new routedEventHandler(Page_Loaded);
- }
-
@H_618_23@void Page_Loaded(@H_618_23@object sender, routedEventArgs E)
- {
-
WebClient webclient = @H_618_23@new WebClient();
-
webclient.DownloadStringCompleted += @H_618_23@new DownloadStringCompletedEventHandler(webclient_DownloadStringCompleted);
-
webclient.DownloadStringAsync(@H_618_23@new Uri("a.xml",UriKind.RelativE));
- }
-
@H_618_23@void webclient_DownloadStringCompleted(@H_618_23@object sender, DownloadStringCompletedEventArgs E)
- {
-
MenuLink ml = @H_618_23@new MenuLink(@H_618_23@true);
- canMenu.Children.Clear();
- canMenu.Children.Add(ml);
- }
Then the order of events/methods called in MenuLink.cs like this:
-
1. @H_618_23@public MenuLink( @H_618_23@bool a )
-
2. @H_618_23@public @H_618_23@override @H_618_23@void OnApplyTemplate()
-
3. @H_618_23@void MenuLink_Loaded(@H_618_23@object sender, routedEventArgs E)
I really don't kNow why?????
大佬总结
以上是大佬教程为你收集整理的The run order about Loaded event and OnApplyTemplate in custom control of Silverlight 2 beta 2全部内容,希望文章能够帮你解决The run order about Loaded event and OnApplyTemplate in custom control of Silverlight 2 beta 2所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。