开源一个 Sliverlight 导航框架

简介:

开源项目中的一个 Silverlight 导航框架, 源代码已经发布到 GitHub, 地址为 https://github.com/beginor/AssemblyNavigation 。

特点

按需加载 Silverlight 组件

与 SL 内置实现了真正意义的按需加载, 主程序可以非常小, 最小不超过 200 KB, 只有当点击链接之后, 才会去服务端下载 对应的组件, 每个组件文件只会下载一次。 如果要下载的组件引用了其它第三方的组件, 也会自动下载第三方组件, 下载第这些 时会自动过滤掉重复的组件。

几乎零配置

使用这个导航框架几乎不需要在客户端或服务端做任何配置, 整个加载过程是自动完成的, 你需要写的只是导航的菜单项。

使用方法

主程序

1. 添加对 AssemblyNavigation、 System.Windows.Controls.Navigation 的引用至项目;

2. 在主页面的 xaml 代码添加下面的 xmlns 引用:

1
2
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
xmlns:asmNav="clr-namespace:Beginor.AssemblyNavigation;assembly=Beginor.AssemblyNavigation"

3. 添加 Frame 控件并设置 ContentLoader, 代码如下:

1
2
3
4
5
< sdk:Frame  Name="MainFrame" Grid.Row="1" Source="MainApp.WelcomePage,MainApp">
    < sdk:Frame.ContentLoader >
       < asmNav:AssemblyNavigationContentLoader  />
    </ sdk:Frame.ContentLoader >
</ sdk:Frame >

模块

每个模块需要添加对 System.Windows.Controls.Navigation 的引用, 至少要有一个页面(否则就不是模块了), 这个 页面需要继承自 System.Windows.Controls.Page 类。

导航链接地址格式

导航地址的链接地址格式为要显示的模块的完整的类型名称, 例如:

1
2
3
4
5
6
< StackPanel  Orientation="Horizontal">
< HyperlinkButton  Content="Welcome Page" NavigateUri="MainApp.WelcomePage,MainApp"/>
< HyperlinkButton  Content="Chart Page" NavigateUri="ChartModule.ChartPage,ChartModule"/>
< HyperlinkButton  Content="Map Page" NavigateUri="MapModule.MapPage,MapModule"/>
< HyperlinkButton  Content="Grid Page" NavigateUri="GridModule.GridPage,GridModule"/>
</ StackPanel >

如果还不够清楚, 可以从 GitHub 网站项目下载这个项目, 有一个完整的测试程序。

注意问题

  • 如果模块引用的第三方组件只在 xaml 中使用, 则必须添加 x:Name 属性, 否则可能会出现找不到这个第三方组件的问题;
  • 如果模块的 xaml 中引用了 clrnamespace , 则必须指定 assembly 值, 否则也可能会出现问题。

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/


本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2012/06/08/2542110.html,如需转载请自行联系原作者

相关文章
|
6天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
558 17
|
11天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
911 109
|
5天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。