XAF 如何编辑当前选择的下拉列表项属性
本帖最后由 ytq2080 于 2016-8-11 20:57 编辑编辑当前选择的属性http://images.cnblogs.com/cnblogs_com/tonyyang/XAF/LookupPropertyEditor.jpghttp://images.cnblogs.com/cnblogs_com/tonyyang/XAF/LookupPropertyEditor2.jpgfile:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg实现代码如下代码 Code highlighting produced by Actipro CodeHighlighter(freeware)http://www.CodeHighlighter.com/-->// Developer Express CodeCentral Example:// How to edit the currently selected object in theWindows Forms LookupPropertyEditor// // This example illustrates the functionality describedin the K18024 KB article. A// separate v2010 vol 1 solution is also available.// // You can find sample updates and versions for differentprogramming languages here:// http://www.devexpress.com/example=E774 using System;using DevExpress.ExpressApp;using DevExpress.XtraEditors.Controls;using DevExpress.XtraEditors.Repository;using System.Drawing;using DevExpress.Utils;using DevExpress.ExpressApp.Win.Editors;using DevExpress.ExpressApp.Model; namespace WinSolution.Module.Win { public class MyLookupPropertyEditor: LookupPropertyEditor { publicMyLookupPropertyEditor(Type objectType, IModelMemberViewItem model) :base(objectType, model) { } protectedoverride void SetupRepositoryItem(RepositoryItem item) { base.SetupRepositoryItem(item); ((RepositoryItemLookupEdit)item).Init(DisplayFormat, this.Helper); AppearanceObject appearance = new AppearanceObject(); appearance.Font=new Font(FontFamily.GenericSansSerif, 10F,FontStyle.Underline); ((RepositoryItemLookupEdit)item).Buttons.Add(newEditorButton(ButtonPredefines.Glyph, "Edit", -1, true, true, true,HorzAlignment.Default, null, new KeyShortcut(System.Windows.Forms.Keys.Enter),appearance, "Press this button to edit the object")); ((RepositoryItemLookupEdit)item).ButtonClick += newButtonPressedEventHandler(MyLookupPropertyEditor_ButtonClick); } voidMyLookupPropertyEditor_ButtonClick(object sender, ButtonPressedEventArgs e) { if (!e.Button.IsDefaultButton){ ObjectSpace objectSpace = Helper.Application.CreateObjectSpace(); object editedObject = null; if(BindingHelper != null) { editedObject = objectSpace.GetObject(BindingHelper.GetControlValue()); } else if (sender is LookupEdit) { editedObject = objectSpace.GetObject((sender as LookupEdit).EditValue); } if(editedObject != null) { ShowViewParameters svp = new ShowViewParameters(); svp.CreatedView = Helper.Application.CreateDetailView(objectSpace,editedObject, true); svp.TargetWindow = TargetWindow.Default; svp.Context = TemplateContext.View; svp.CreateAllControllers = true; ShowViewSource svs = new ShowViewSource(Helper.Application.MainWindow,null); Helper.Application.ShowViewStrategy.ShowView(svp, svs); } } } }}
页:
[1]