(2013年8月9日)のデータバインディングに関連CYQ.Data支持WPFコントロール

イベントの結果

まだ.NET framework2.0サポートの最小フレームワークのバージョンを保持しながら、思考と忙しい開発とテストの数日後、WPF UIでCYQ.Dataついにフルサポートは、これまでのところ、CYQ.Dataは、開発WPFをサポートするのは簡単でした。

WPFは、原因をサポートしています。

研究はMDataTable.ToDataTable(から必要な見つけた後、WPFでも、DataTableをサポートしていないため、直接、コントロールのリスト行き、WPFをサポートしていない前にCYQ.Data)は、2.0の下で構文の開発を支援するベースのフレームワークとなっている。[既定オンにしますtxtName.Text = u.Name;結合UIに加えて、オリジナルの割り当てするための唯一の方法で同様の制御を行います。
同時にボトムラインとWPF少し接触は、最小2.0バージョンのサポートを維持したいので、より良いWPFをサポートする方法についてどのように骨の折れる研究をされていません。
最近の二つの機会に、私は、WPFの開発を支援したいと思います:
1:私は、次のWPFの開発のいくつかの基本的な知識を再読み込み。

2:拡張メソッドを参照するにはN回は、突然何かを考えているようです。

もちろん、フレームワークは最低のバージョン2.0をサポートまま、だから、それは約3日間かかりました、そして最終的には完全にWPFのサポートによってテスト。

WPFでのテストケース:

 例示的なインターフェース:コンテンツがWPF CRUDを含みます。

 

直接ID入力14において、点塗りつぶしボタン相関値が自動的に充填されます。

 

CYQ.Data CodeFirst例テキストデータベースのユーザーテーブルを使用します。

    クラスのユーザー:CYQ.Data.Orm.OrmBase
    {
        パブリックユーザー()
        {
            base.SetInit(this, "Users", "txt path={0};ts=0");
        }
        public int ID
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
        public bool IsEnabled
        {
            get;
            set;
        }
        public string TypeName
        {
            get;
            set;
        }
        public DateTime CreateTime
        {
            get;
            set;
        }
    }
添加(Add按钮):采用自动取值,不用单个控件式的u.GetFrom(txtName);
private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            using (Users u = new Users())
            {
                u.SetAutoParentControl(this);
                if (u.Insert(true, InsertOp.Fill))
                {
                    u.SetToAll(this);
                }
            }
        }
更新(Update按钮):同样采用自动式取值。
  private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            using (Users u = new Users())
            {
                u.SetAutoParentControl(this);
                if (u.Update(txtID.Text, true))
                {
                    Load();
                }
            }
        }
删除(Delete按钮):只需要一个ID。
  private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            using (Users u = new Users())
            {
                u.Delete(txtID.Text);
            }
        }
单个查询(Fill):根据ID查询后,自动批量赋值。
private void btnFill_Click(object sender, RoutedEventArgs e)
        {
            using (Users u = new Users())
            {
                if (u.Fill(txtID.Text))
                {
                    u.SetToAll(this);
                }
            }
        }
バインドリストコントロール(デフォルトのフォームロードイベントコール):WPFのDataGridコントロールをバインド直接サポート。
無効負荷()
        {
            (uは新しいユーザーを=ユーザーを())を使用して、
            {
                u.Select()バインド(gvUsers)。
            }
        }

要約: 

CRUDを通じて、我々はほとんど(txtIDにこのコントロールのID具体例に加えて)特定のコントロールに関連していない、自動化、自動化された方法でこれを達成するための機能の割り当ての値に基づいて、と私は信じているそのカスタムフォームの一部開発のタイプは、それがさらに強力であり、これはUIの強力なサポートです。

同じコード、Webフォームおよび伝統的なWinフォームは、同じです。

 

このセクションでは、ここで思考の過程で発生した問題を紹介し、この日を実現します、次の記事は、技術的なポイントについて書きます。

 

リリースされたばかりのドラゴンの学生プロジェクトはCYQ.Dataを使用して開発し、かなり良い感じに見えた:  楽しむために皆のためのhttp://fadeiwan.com/ Huadiwan文化の中心地。

ます。https://my.oschina.net/secyaher/blog/274130で再現

おすすめ

転載: blog.csdn.net/weixin_34101229/article/details/91966988