当前位置: 代码迷 >> Web前端 >> 公布一个免费漂亮的仿Outlook风格、支持换肤的通用界面框架
  详细解决方案

公布一个免费漂亮的仿Outlook风格、支持换肤的通用界面框架

热度:436   发布时间:2012-07-04 19:33:55.0
发布一个免费漂亮的仿Outlook风格、支持换肤的通用界面框架

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

Restart

换个皮肤试试看!

image

这个界面框架是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>
复制代码

?

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

image

有关界面框架的使用,你可以访问:http://www.iopenworks.com/Products/ProductDetails/Introduction?proID=8

有关联系人插件的介绍、开发教程、源码和部署文件,你可以访问:http://www.iopenworks.com/Products/ProductDetails/Introduction?proID=20

?

  相关解决方案