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 (超级人工智能)出售。

浙公网安备 33010602011771号