网站开发与设计实验报告,如何做微信网站建设,wordpress分级菜单显示,自贡网站制作公司前言好久没更新博客了#xff0c;最近准备重拾博客#xff0c;将更新恢复起来。开源项目这些年零零散散做了很多项目#xff0c;准备整理一下#xff0c;将其开源#xff0c;现整理了两个项目#xff1a;绑定引擎#xff08;BindingEngine#xff09;#xff0c;插件式… 前言好久没更新博客了最近准备重拾博客将更新恢复起来。开源项目这些年零零散散做了很多项目准备整理一下将其开源现整理了两个项目绑定引擎BindingEngine插件式UI框架GaleSong。BindingEngine这是一个自定义的绑定引擎项目的想法是将WPF的ViewModel用到各处比如Winform、Xamarin、Web等等期望可以做到多个环境多个View共同绑定一份ViewModel当ViewModel变化时多个View可同步更新。使用示例BindingEngine.SetPropertyBinding(this.winformTabControl, i i.SelectedIndex, DataWarehouse.Instance, o o.SelectedIndex).SetMode(BindMode.TwoWay).AttachTargetEvent(SelectedIndexChanged);这段代码的意思是
1. 将winFormTabControl控件的SelectedIndex属性绑定至 DataWarehouse.Instance的SelectedIndex。
2. 类型是双向绑定(TwoWay)
3. 更新触发事件是SelectedIndexChanged。
目前支持的绑定有// 属性绑定
WinformBinding.SetPropertyBinding(this.trackBar1, i i.Minimum, DataWarehouse.Instance, o o.ControlViewModel1.SliderMinValue);// 集合绑定
WinformBinding.SetCollectionBinding(this.tabControl1, i i.TabPages, DataWarehouse.Instance, o o.ControlViewModel1.Persons, false).SetTargetCollectionHandler(new TabControlCollectionHanlder()).Activate();// 命令绑定
WinformBinding.SetCommandBinding(this.addBtn1, null, DataWarehouse.Instance, i i.ControlViewModel1.AddCommand).AddEnablePropertyButton(button button.Enabled).AttachTargetEvent(Click);// 通知绑定
WinformBinding.SetNotifyBinding(……
// 方法绑定
WinformBinding.SetMethodBinding(……
运行示例当点击左侧WinForm中的控件右面WPF的控件可同步更新反之亦然。代码在Github上地址参见项目地址https://github.com/zhouyongh/BindingEngine
GaleSong一个插件式的WPF UI框架是一个仿Visual Studio的UI框架技术的原型来自于前文:https://www.cnblogs.com/Zhouyongh/archive/2012/02/16/2353498.html
整理了下代码上传至码云中地址https://gitee.com/zhouyongh/gale-song
起了个名字叫GaleSong中文名大风歌起这个名字时有些唏嘘时间流逝得太快一晃就成老兵了……T_T。老骥伏枥志在千里。❝大风吹过总要留下些什么作者周永恒出处http://www.cnblogs.com/Zhouyongh本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利。