zoukankan      html  css  js  c++  java
  • 朝花夕拾——更新两个开源项目

    前言

      好久没更新博客了,最近准备重拾博客,将更新恢复起来。

    开源项目

      这些年零零散散做了很多项目,准备整理一下,将其开源,现整理了两个项目:绑定引擎(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) .AddEnableProperty<Button>(button => button.Enabled) .AttachTargetEvent("Click"); // 通知绑定 WinformBinding.SetNotifyBinding(…… // 方法绑定 WinformBinding.SetMethodBinding(……

      运行示例,当点击左侧WinForm中的控件,右面WPF的控件可同步更新,反之亦然。

      

      代码在Github上,地址参见项目地址

    GaleSong

      一个插件式的WPF UI框架,是一个仿Visual Studio的UI框架,技术的原型来自于前文

      

      整理了下代码,上传至码云中,地址:项目地址

      起了个名字叫GaleSong,中文名:大风歌,起这个名字时有些唏嘘,时间流逝得太快,一晃就成老兵了……T_T。

      老骥伏枥,志在千里。

      大风吹过,总要留下些什么

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    【YBTOJ】守卫挑战
    【YBTOJ】【Luogu P6089】[JSOI2015]非诚勿扰
    【Luogu P4092】[HEOI2016/TJOI2016]树
    【YBTOJ】【Luogu P3232】[HNOI2013]游走
    【CodeForces 396B】On Sum of Fractions
    【P2579】【ZJTSC05】沼泽鳄鱼
    【YBTOJ】【USACO03MAR】最大均值
    【YBTOJ】防具布置
    VC 静态库与动态库(二)静态库创建与使用
    VC 静态库与动态库(一)介绍
  • 原文地址:https://www.cnblogs.com/Zhouyongh/p/14727920.html
Copyright © 2011-2022 走看看