Silverlight UI FAQ
时间:2010-09-04 来源:睿易
一、VisualTree 相关 Issues
1. 当注册Loaded事件后,控件并没有插入到VisualTree,sdk里是注明的。通常的解决方法是在OnLoaded的响应事件中加入ApplyTemplate() 强行让其加入的VisualTree。这样有什么好处呢?可以立刻使用VisualTreeHelper工具,同理Silverlight Toolkit中 ItemsControl.GetItemsHost()等工具也是有效可用的。
2. 用WriteableBitmap获取新控件的切图的代码顺序(code-behind):
i. new Control()..
ii. Panel (LayoutRoot) .Children.Add(…)
iii. .Loaded += OnLoaded()
iv. OnLoaded()
{
.ApplyTemplate();
new WriteableBitmap(…)
}
备注:不知为何,必须先让容器加入控件再注册Loaded方可,否则获取的WriteableBitmap里面的像素是空的。
相关阅读 更多 +