protected override void Init() { RootLayout = new VerticalLayout("box"); BindKit.Init(); var editorView = new VerticalLayout().AddTo(RootLayout); var uploadingView = new VerticalLayout().AddTo(RootLayout); // var finishView = new VerticalLayout().AddTo(RootLayout); ; // 当前版本号 var versionLine = new HorizontalLayout().AddTo(editorView); new LabelView("当前版本号").Width(100).AddTo(versionLine); new LabelView(mPackageVersion.Version).Width(100).AddTo(versionLine); // 发布版本号 var publishedVertionLine = new HorizontalLayout().AddTo(editorView); new LabelView("发布版本号").Width(100).AddTo(publishedVertionLine); var version = new TextView().Width(100).AddTo(publishedVertionLine); // 类型 var typeLine = new HorizontalLayout().AddTo(editorView); new LabelView("类型").Width(100).AddTo(typeLine); var packageType = new EnumPopupView(mPackageVersion.Type).AddTo(typeLine); var accessRightLine = new HorizontalLayout().AddTo(editorView); new LabelView("权限").Width(100).AddTo(accessRightLine); var accessRight = new EnumPopupView(mPackageVersion.AccessRight).AddTo(accessRightLine); new LabelView("发布说明:").Width(150).AddTo(editorView); var releaseNote = new TextAreaView().Width(250).Height(300).AddTo(editorView); var docLine = new HorizontalLayout().AddTo(editorView); new LabelView("文档地址:").Width(52).AddTo(docLine); var docUrl = new TextView(mPackageVersion.DocUrl).Width(150).AddTo(docLine); var pasteBtn = new ButtonView("Paste").AddTo(docLine); var bindingSet = BindKit.CreateBindingSet(this, new PackageMakerViewModel(mPackageVersion)); bindingSet.Bind(editorView).For(v => v.Visible).To(vm => vm.InEditorView); bindingSet.Bind(version.Content).For(v => v.Value, v => v.OnValueChanged) .To(vm => vm.Version); bindingSet.Bind(packageType.ValueProperty).For(v => v.Value, v => v.OnValueChanged) .To(vm => vm.Type); bindingSet.Bind(accessRight.ValueProperty) .For(v => v.Value, v => v.OnValueChanged) .To(vm => vm.AccessRight); bindingSet.Bind(releaseNote.Content).For(v => v.Value, v => v.OnValueChanged) .To(vm => vm.ReleaseNote); bindingSet.Bind(docUrl.Content).For(v => v.Value, v => v.OnValueChanged) .To(vm => vm.DocUrl); bindingSet.Bind(pasteBtn).For(v => v.OnClick).To(vm => vm.Paste); if (User.Logined) { var publishBtn = new ButtonView("发布").AddTo(editorView); new ButtonView("发布并删除本地", () => { }).AddTo(editorView); bindingSet.Bind(publishBtn).For(v => v.OnClick).To(vm => vm.Publish) .CommandParameter(mPackageVersion); } var notice = new LabelViewWithRect("", 100, 200, 200, 200).AddTo(uploadingView); bindingSet.Bind(notice.Content).For(v => v.Value).To(vm => vm.NoticeMessage); bindingSet.Bind(uploadingView).For(v => v.Visible).To(vm => vm.InUploadingView); bindingSet.Build(); }