WEB开发网
开发学院图形图像Flash 在 Silverlight 中管理动态内容交付,第 1 部分 阅读

在 Silverlight 中管理动态内容交付,第 1 部分

 2009-02-05 11:54:37 来源:WEB开发网   
核心提示: 下载仅含 XAML 的数据让我们看一看如何使用 WebClient 下载 XAML 数据并将其集成到可视树中,在 Silverlight 2 应用程序中,在 Silverlight 中管理动态内容交付,第 1 部分(9),动态下载纯 XAML 数据不一定会为您带来您需要的编程功能,XAML

下载仅含 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 元素的子元素会形成一个集合,它们将呈现为一个序列。这意味着,为避免元素之间产生不必要的重叠,在更新时应首先删除这些元素然后再重新添加。

上一页  4 5 6 7 8 9 10  下一页

Tags:Silverlight 管理 动态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接