首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XAF -更改PropertyEditor的值

XAF -更改PropertyEditor的值
EN

Stack Overflow用户
提问于 2016-10-28 15:54:17
回答 2查看 2.1K关注 0票数 0

我正在学习XAF,我想知道如何访问PropertyEditor的值来更改它。我想从一个PropertyEditor中获取这个值,并将这个值放入另一个PropertyEditor的值中。我的代码是这样的:

代码语言:javascript
复制
Property Editor reserva = (PropertyEditor)((DetailView)View).FindItem("Reserva"); //This is a custom object
PropertyEditor dni = (PropertyEditor)((DetailView)View).FindItem("Dni");//This is a simple text editor
PropertyEditor dniReserva = (PropertyEditor)reserva.View.FindItem("Dni");//This is a variable from the custom object
dni.PropertyValue = dniReserva.ControlValue;

这不管用,有什么想法吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-29 08:04:02

您是在将非持久属性的值复制到另一个非持久属性吗?因为在任何其他情况下,我认为有更合适的方法来复制值,使用实际的属性(这里是有用的答案来帮助您),而不是编辑器。但是,如果您确实需要这样做,我相信您可以创建一个ViewController并使用这样的PropertyEditor属性

代码语言:javascript
复制
        foreach (PropertyEditor editor in ((DetailView)View).GetItems<PropertyEditor>())
        {
            var control = editor.Control as IntegerEdit;
            if (control != null)
            {
                    if (editor.Id == "Id" || editor.Caption == "Id")
                    {
                        control.Enabled = false;
                    }           
            }
        }
票数 2
EN

Stack Overflow用户

发布于 2016-10-29 14:24:50

XAF中的每个属性编辑器从业务对象的特定属性中读取值。这种特殊性将您的任务简化为将特定属性的值复制到另一个属性。

在ViewController中,可以使用View.CurrentObject属性访问当前业务对象。使用适当的值更新属性后,新值将立即显示在属性编辑器中。

如果业务对象没有实现INotifyPropertyChanged接口(例如,如果首先使用实体框架代码),则还可能需要调用View.Refresh方法以使编辑器中出现新的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40308829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档