Microsoft.Phone.UserData.Contact 유형의 "ContactInfo"라는 속성이있는 클래스가 있습니다. 전화에서 연락처를 읽었고 각 연락처에 대해 클래스의 객체를 만들고 ContactInfo 속성을 설정합니다. 모든 개체는 LongListSelector에 표시된 ObservableCollection에 추가됩니다.Contact 클래스에서 속성을 바인딩하는 방법은 무엇입니까?
C#에서는 ObservableCollection의 데이터 소스에서 요소를 읽고 각 개체의 ContactInfo 속성에서 속성을 읽을 수 있지만 XAML에서는 데이터 템플릿이 속성에 액세스 할 수 없습니다.
데이터 템플릿을 제거하면 object.toString()이 표시되지만 데이터 템플릿을 설정하는 것이 표시되지 않으므로 VS의 출력 탭에 메시지가 표시되므로 LongListSelector의 데이터 소스가 올바르게 설정되어 있다는 것을 알고 있습니다. " System.Windows.Data 오류 : BindingExpression 경로 오류 : '표시 이름'속성은 'CONTACTINFO'
오전 내가 잊고 뭔가를 찾을 수 없거나이 잘못 설정 뭔가
이 내 모델 :
public class CDContact
{
public Contact ContactInfo { get; set; }
public ObservableCollection<CDPhoneNumber> PhoneNumbers{get; set;}
public CDContact()
{
PhoneNumbers = new ObservableCollection<CDPhoneNumber>();
}
}
이 데이터 템플릿입니다 : 다른 모든 가정
<DataTemplate x:Key="ContactItemTemplate">
<StackPanel VerticalAlignment="Top" DataContext="ContactInfo" >
<TextBlock FontWeight="Bold" Text="{Binding Path=DisplayName, Mode=OneWay}" />
</StackPanel>
</DataTemplate>
감사합니다. 나는 오류를 발견하지 못했습니다. – carlosoj