Я делаю небольшую программу личных финансов, которая использует «конверты» в качестве метода бюджетирования. Я в основном делаю это как средство для изучения WPF & MVVM. Я столкнулся с проблемой, где я не могу DataBind к пользовательским свойствам, которые я создал в моем пользовательском ObservableCollection, видел здесь:Проблема привязки данных с пользовательскими свойствами 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. . .
}
}
}
Я могу мой DataGrid привязки к коллекции без проблем, однако ниже моего datagrid У меня есть ярлыки, что мне нужно отображать общее количество остатков для конвертов в коллекции. Я могу привязать данные к свойству Count коллекции, которое является свойством родительского класса ObservableCollection, но я не могу привязать его к Total или SavingsTotal из своего пользовательского класса.
Метка просто пуста, когда программа запущена, и если я использую конструктор VS2010 и перейду к маленькому мастеру привязки данных для содержимого ярлыка, он будет выделен «Итогом» и отобразит всплывающую подсказку: «Элемент пути« Всего » не может быть разрешено ». Опять же, если я изменю Path на EnvColl.Count, он работает. более
<Label Content="{Binding Path=EnvColl.Total}"/>
Одно замечание, на мой ViewModel я могу получить доступ к Всего и SavingsTotal свойства в моей коллекции не проблема, это просто в XAML/привязки данных, что он не работает.
Вы пытались использовать BindsDirectlyToSource = true для привязки? –