저는 "봉투"를 예산 방법으로 사용하는 개인적인 개인 재정 프로그램을 만들고 있습니다. 저는 주로 이것을 WPFS & MVVM을 배우는 수단으로 사용하고 있습니다. 나는 내가 내 사용자 지정 ObservableCollection에에서 만든 사용자 지정 속성에 데이터 바인딩 수없는 문제로 실행했습니다, 여기에 본 : 나는 문제없이 컬렉션에 내 데이터 그리드를 데이터 바인딩 수 있어요Custom 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 아래에 나는 컬렉션에 봉투의 총 잔액을 표시하는 데 필요한 레이블이 있습니다. 부모 ObservableCollection 클래스의 속성 인 컬렉션의 Count 속성에 databind 할 수 있지만 사용자 지정 클래스에서 Total 또는 SavingsTotal에 데이터 바인딩 할 수 없습니다.
레이블은 프로그램이 실행될 때 그냥 비어 있고 VS2010 디자이너를 사용하고 레이블의 내용에 대한 작은 데이터 바인딩 마법사로 이동하면 도구 상자에 'Total'밑줄이 표시되고 "Path item 'Total' 해결할 수 없습니다. " EnvColl.Count 경로를 변경하면 다시 작동합니다.
<Label Content="{Binding Path=EnvColl.Total}"/>
한 번 더 참고, 내 뷰 모델에 나는 그냥 작동하지 않는 XAML/데이터 바인딩에있어, 문제없이 내 컬렉션에 총과 SavingsTotal 속성에 액세스 할 수 있습니다.
Binding에서 BindsDirectlyToSource = true를 시도해 보셨습니까? –