Devexpress Winform 使用MVVM
MVVM在WPF里很早就有了,在Winform里Devexpress最近几个大版本才有的事,上一段代码。
现在对话框上添加三个控件simpleButton1,simpleButton2,textEdit1,MvvmContext组件
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的值。
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。