Я делаю небольшую программу личных финансов, которая использует «конверты» в качестве метода бюджетирования.В основном я делаю это как средство для изучения WPF и MVVM.Я столкнулся с проблемой, когда я не могу привязать данные к пользовательским свойствам, которые я создал в своей пользовательской коллекции ObservableCollection, как показано здесь:
public class ObservableEnvelopeCollection : ObservableCollection<Envelope>
{
public decimal Total
{
get
{
decimal total = 0;
foreach (Envelope env in this)
{
total += env.Balance;
}
return total;
}
}
public decimal SavingsTotal
{
get
{
blah blah. . .
}
}
}
Я могу без проблем привязать свою сетку данных к коллекции.Тем не менее, под сеткой данных у меня есть метки, которые мне нужны, чтобы отобразить итоговое сальдо для конвертов в коллекции.Я могу привязать данные к свойству Count коллекции, которое является свойством родительского класса ObservableCollection, но я не могу привязать данные к Total или SavingsTotal из моего пользовательского класса.
Метка просто пустакогда программа запущена, и если я использую конструктор VS2010 и перехожу к маленькому мастеру привязки данных для метки «Контент», он подчеркивает «Итого» и показывает подсказку: «Элемент пути« Итого »не может быть разрешен».Опять же, если я изменю путь на EnvColl.Count, он будет работать.
<Label Content="{Binding Path=EnvColl.Total}"/>
Еще одно примечание: в моей модели представления я могу без проблем получать доступ к свойствам Total и SavingsTotal в моей коллекции, это только в привязке XAML / данныхчто это не работает.