2011-06-10 3 views
0

InitializeComponent 및 Databinding에서 Silverlight 문제와 관련된 문제가 있습니다. XAML 코드를 사용하여 데이터와 직접 바인딩해야하는 트리 구조가 있으며 기본 페이지에서 "InitializeComponent"를 호출하면 해당 바인딩이 활성화됩니다.Silverlight에서 InitializeComponent 및 Databinding 문제가 발생했습니다.

여기에 문지름이 있습니다. Silverlight 앱은로드 할 데이터를 알기 위해 서버에서 콜백을 대기해야합니다. 그리고 이것은 초기화가 일어난 후에 오랫동안 C# 코드의 내장에서 발생합니다.

그래서 어떻게해야할지 모르겠다. 메인 페이지 만 InitializeComponent()를 호출 할 수 있지만로드 할 데이터가 있고 InitializeComponent를 호출 할 때까지 기다려야하며 MainPage가 실행 된 후에도 오래 기다려야합니다.

답변

2

Silverlight의 모든 기능은 비동기 적으로로드되는 데이터, 특히 바인딩을 사용하도록 설계되었습니다.

바인딩을 사용하여 빈 또는 null로 시작하는 속성으로 초기화 할 수 있습니다. 초기화는 Xaml을 일반 오래된 C# 개체 (POCO)로 구문 분석하여 컨트롤의 시각적 트리를 생성하는 것입니다.

속성이 INotifyPropertyChanged (즉, 목록/계층 구조를 보유하는 상위 컨테이너)를 사용하는 한 데이터가 변경 될 때 바인딩이 업데이트되거나 ObservableCollections 인 경우 자체 내용에 대한 변경 알림을 제공합니다.

자세한 질문이 있으시면 참조 할 수 있도록 코드 샘플을 게시하십시오.

관련 문제