zhaogaojian
MVVM在WPF里很早就有了,在Winform里Devexpress最近几个大版本才有的事,上一段代码。
现在对话框上添加三个控件simpleButton1,simpleButton2,textEdit1,MvvmContext组件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public partial class Form1 : DevExpress.XtraEditors.XtraForm { // // POCO View Model provides out-of-the-box support of the INotifyPropertyChanged. // public class ViewModel{ // Bindable property will be created from this property. public virtual string Title { get ; set ; } // Just a method for readability public string GetTitleAsHumanReadableString(){ if (Title == null ) return "(Null)" ; if (Title.Length == 0) return "(Empty)" ; if ( string .IsNullOrWhiteSpace(Title)) return "(WhiteSpace)" ; return Title; } } public Form1(){ InitializeComponent(); } private void simpleButton1_Click( object sender, EventArgs e){ // Set type of POCO-ViewModel mvvmContext1.ViewModelType = typeof (ViewModel); // Data binding for the Title property (via MVVMContext API) mvvmContext1.SetBinding(textEdit1, c=>c.EditValue, "Title" ); // UI binding for the Report command ViewModel viewModel = mvvmContext1.GetViewModel<ViewModel>(); simpleButton2.Click += (s, ee) => XtraMessageBox.Show(viewModel.GetTitleAsHumanReadableString()); } |
当simpleButton1点击执行后,simpleButton2点击后显示的就是textEdit1的值。
1、建了一个小群:616945527(软件), 欢迎大家加入,加群口令abc123,硬件开发者推荐75764412(单片机)。
闲置域名www.nsxz.com出售(等宽等高字符四字域名,可组合多种有意义词语)。
分类: 第三方界面库