博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布一个免费漂亮的仿Outlook风格、支持换肤的通用界面框架
阅读量:5953 次
发布时间:2019-06-19

本文共 1801 字,大约阅读时间需要 6 分钟。

这个通用界面框架是基于OSGi.NET插件框架来做的,先看一下运行效果。

换个皮肤试试看!

这个界面框架是OSGi.NET面向服务插件平台的一个通用的界面插件,OSGi.NET面向服务插件框架是一个支持WinForm、Web、WPF、Silverlight,甚至是移动应用的插件平台,提供动态插件化与模块化、面向服务和插件扩展三大功能。这个界面框架插件利用OSGi.NET的扩展功能暴露了左边的导航栏和右边显示区域的扩展点,允许新开发的插件通过注册扩展的方式将自定义的界面功能注册到这个节目框架。我们来看一个使用示例,在这个示例里,我们新建了一个联系人插件。这个联系人插件通过Manifest.xml这个插件配置文件的Extension节点定义了对界面框架的扩展。如下所示。

 

<?
xml version="1.0" encoding="utf-8"
?> 
<
Bundle 
xmlns
="urn:uiosp-bundle-manifest-2.0"
 Name
="ContactsPlugin"
 SymbolicName
="ContactsPlugin"
 Version
="1.0.0.0"
 InitializedState
="Active"
> 
  
<
Activator 
Type
="ContactsPlugin.Activator"
 Policy
="Immediate"
 
/> 
  
<
Runtime
> 
    
<
Assembly 
Path
="bin\ContactsPlugin.dll"
 Share
="false"
 
/> 
    
<
Dependency 
BundleSymbolicName
="UIShell.DbManagerService"
 Resolution
="Mandatory"
 
/> 
  
</
Runtime
> 
  
<!--
 定义界面功能的扩展,将自定义的两个窗体注册到界面框架 
--> 
  
<
Extension 
Point
="UIShell.Applications"
> 
    
<
Application 
Title
="ContactsPlugin"
 ToolTip
="ContactsPlugin"
 Icon
="ContactsPlugin.Resources.shell.png"
> 
      
<
Menu 
Text
="Create Contact"
 ToolTip
="Create a contact"
 Icon
="ContactsPlugin.Resources.shell.png"
 Class
="ContactsPlugin.CreateContactForm"
 
/> 
      
<
Menu 
Text
="View Contacts"
 ToolTip
="View all contacts"
 Icon
="ContactsPlugin.Resources.shell.png"
 Class
="ContactsPlugin.ContactsForm"
 
/> 
    
</
Application
> 
  
</
Extension
> 
  
<!--
 定义一个数据源,从而来使用轻量级ORM数据访问服务 
--> 
  
<
Extension 
Point
="UIShell.DataSources"
> 
    
<
DataSource 
Name
="Default"
 
                ConnectionString
="data source='{BundleLocation}\App_Data\Contact.sdf';"
 
                ProviderName
="Microsoft.SqlServerCe.Client.3.5"
 
                Description
="Contact data source."
 
/> 
  
</
Extension
> 
</
Bundle
>

 

运行插件项目后,你可以发现这个联系人管理应用便显示在左边的导航区域,一旦点击导航菜单,便在右边显示了注册的窗体。

有关界面框架的使用,你可以访问:

有关联系人插件的介绍、开发教程、源码和部署文件,你可以访问:

 

如果有更多疑问,可以加入QQ交流群:121369588。

本文转自道法自然博客园博客,原文链接:http://www.cnblogs.com/baihmpgy/archive/2012/05/24/2516697.html,如需转载请自行联系原作者

你可能感兴趣的文章
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
web安全问题分析与防御总结
查看>>
React 组件通信之 React context
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>