Как создать и зарегистрировать новый элемент пользовательского интерфейса для некоторого типа свойств?

У меня есть эта сущность:

public class Person
{
    public string FullName { get; set; }
    public Address PersonAddress { get; set; }
}

который Address является ComplexType:

public class Address
{
    public string City { get; set; }
    public string Street {get; set; }
}

Итак, в базе данных у меня есть столбцы PersonAddress_City, PersonAddress_Street.

Вопрос 1. Конструктор моделей не отображает эти свойства ComplexType. Как я могу использовать их в приложении?

Вопрос 2. Как создать пользовательский элемент управления и указать XAF использовать его для свойств типа Address?


person mehrandvd    schedule 13.08.2015    source источник


Ответы (1)


Я почти уверен, что PersonAddress будет отображаться в конструкторе моделей, если класс Address происходит от базового класса XPO, такого как XPCustomObject.

По умолчанию это будет LookupPropertyEditor (комбо) в пользовательском интерфейсе. Вы можете либо создать для него настраиваемый элемент управления, либо развернуть элементы Adresss в Person DetailView, со встроенным атрибутом ExpandObjectMembersAttribute.

person ErikWitkowski    schedule 15.08.2015
comment
ExpandObjectMembersAttribute также должен работать с Entity Framework (по крайней мере, он не зависит от XPO). - person ErikWitkowski; 18.08.2015