Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 Как в XAML правильно присваивать значения сложным свойствам.  [new]
Eld Hasp
Member

Откуда:
Сообщений: 225
Допустим есть такие классы
public class Nested { public string Name {get; set;}="Имя"}
public class Overall { public Nested One {get; set;} = new Nested(); public Nested Two {get; set;} = new Nested(); }

В XAML я создаю объект Overall и задаю значения свойствам
<local:Overall>
       <local:Overall.One>
              <local:Nested Name="Ваня"/>
       </local:Overall.One>
       <local:Overall.Two>
              <local:Nested Name="Иванович"/>
       </local:Overall.Two>
</local:Overall>

Фактически получается для задания значения сложному свойству (One или Two) я создаю новый объект и у него устанавливаю значения свойств, и потом этот объект присваивается свойству.
Правильно ли это? Или можно как-то напрямую присвоить значения свойств не создавая новый объект?
3 дек 18, 20:57    [21752423]     Ответить | Цитировать Сообщить модератору
 Re: Как в XAML правильно присваивать значения сложным свойствам.  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
В конструкторе класса local:Overall инициализируй свойства 1 объектом, но вообще вся эта возня, что вы делайте в жизни мало где применима. инициализировать VM из XAML плохая идея, он не для этого предназначен.
3 дек 18, 23:39    [21752473]     Ответить | Цитировать Сообщить модератору
 Re: Как в XAML правильно присваивать значения сложным свойствам.  [new]
Eld Hasp
Member

Откуда:
Сообщений: 225
Roman Mejtes
В конструкторе класса local:Overall инициализируй свойства 1 объектом
Не понял...
Можно подробнее?
Roman Mejtes
... но вообще вся эта возня, что вы делайте в жизни мало где применима. инициализировать VM из XAML плохая идея, он не для этого предназначен.
Я так создаю VM времени разработки.
4 дек 18, 02:52    [21752510]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить