在 Silverlight 中管理动态内容交付,第 1 部分
2009-02-05 11:54:37 来源:WEB开发网下载仅含 XAML 的数据
让我们看一看如何使用 WebClient 下载 XAML 数据并将其集成到可视树中。在 Silverlight 2 应用程序中,动态下载纯 XAML 数据不一定会为您带来您需要的编程功能。XAML 字符串必须是纯 XAML,没有需要在运行时解析的任何引用,例如绑定或对样式、资源和事件的引用。
XAML 字符串下载完毕后,可使用 XamlReader 类将其转换为 UI 元素,然后即可添加到现有文档对象模型中。下面的代码显示了如何以编程方式从某个 URL 下载 XAML 字符串。请注意,您需要提供 URL 作为 Uri 对象:
WebClient client = new WebClient();
client.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(OnDownloadCompleted);
Uri uri = new Uri("xaml.ashx", UriKind.Relative);
client.DownloadStringAsync(uri);
该 URL 可以指向纯 XAML 资源或指向返回 text/xaml 响应的端点。下面的代码将处理下载的 XAML 并将其附加到可视树中的一个占位符上:
void OnDownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
// Parse XAML to a UI element
string xaml = e.Result;
UIElement dom = XamlReader.Load(xaml) as UIElement;
// Append to the DOM
Placeholder.Children.Clear();
Placeholder.Children.Add(dom);
}
如前所述,占位符可以是插件中当前呈现的文档对象模型中的任何元素。请注意,UI 元素的子元素会形成一个集合,它们将呈现为一个序列。这意味着,为避免元素之间产生不必要的重叠,在更新时应首先删除这些元素然后再重新添加。
Tags:Silverlight 管理 动态
编辑录入:爽爽 [复制链接] [打 印]- ››动态的改变IFrame的高度
- ››动态4种方法加载JS脚本
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››管理/var/spool/clientmqueue/下的大文件
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››动态调用对象事件
- ››动态创建控件支持事件响应并可保存与读取
- ››Silverlight for Symbian
更多精彩
赞助商链接