Devexpress Winform 使用MVVM

Devexpress Winform 使用MVVM

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 { getset; }

            // 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出售(等宽等高字符四字域名,可组合多种有意义词语)。

分类: 第三方界面库

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页