У меня есть класс объектов комплексного значения, который имеет 1) число или свойства только для чтения; 2) частный конструктор; и 3) количество статических свойств экземпляра singleton [поэтому свойства объекта ComplexValueObject никогда не меняются, а индивидуальное значение создается один раз в жизненном цикле приложения].XAML привязка к объектам с комплексными значениями
public class ComplexValueClass
{
/* A number of read only properties */
private readonly string _propertyOne;
public string PropertyOne
{
get
{
return _propertyOne;
}
}
private readonly string _propertyTwo;
public string PropertyTwo
{
get
{
return _propertyTwo;
}
}
/* a private constructor */
private ComplexValueClass(string propertyOne, string propertyTwo)
{
_propertyOne = propertyOne;
_propertyTwo = PropertyTwo;
}
/* a number of singleton instances */
private static ComplexValueClass _complexValueObjectOne;
public static ComplexValueClass ComplexValueObjectOne
{
get
{
if (_complexValueObjectOne == null)
{
_complexValueObjectOne = new ComplexValueClass("string one", "string two");
}
return _complexValueObjectOne;
}
}
private static ComplexValueClass _complexValueObjectTwo;
public static ComplexValueClass ComplexValueObjectTwo
{
get
{
if (_complexValueObjectTwo == null)
{
_complexValueObjectTwo = new ComplexValueClass("string three", "string four");
}
return _complexValueObjectTwo;
}
}
}
У меня есть данные классы контекста, который выглядит примерно так:
public class DataContextClass : INotifyPropertyChanged
{
private ComplexValueClass _complexValueClass;
public ComplexValueClass ComplexValueObject
{
get
{
return _complexValueClass;
}
set
{
_complexValueClass = value;
PropertyChanged(this, new PropertyChangedEventArgs("ComplexValueObject"));
}
}
}
Я хотел бы написать XAML привязку заявления свойства на моем сложном объекте значения, который обновляет пользовательский интерфейс, когда все изменения объектов комплексного значения. Каков наилучший и/или самый лаконичный способ сделать это? У меня есть что-то вроде:
<Object Value="{Binding ComplexValueObject.PropertyOne}" />
но пользовательский интерфейс не обновляется, когда ComplexValueObject в целом изменяется.
это делает работа. Мне интересно, есть ли чистый способ XAML для достижения того же самого. – Gus
Вы имеете в виду без кода вообще и сохранить свои классы данных, как есть ??? Напишите пользовательский элемент управления с свойством зависимости типа ComplexValueClass, который будет аннулировать себя при изменении свойства зависимостей. –