두 개의 서로 다른 데이터 집합이 있고 런타임에 DataContext
이 디자인 타임과 다른 경우가 발생합니다.
디자인 모드에 표시되는 데이터 ('디자인 한', '디자인이')가 그래서 그 런타임 환경에 영향을주지 않습니다 변화, MainViewModelSampleData.cs
에 저장됩니다. 런타임에
데이터는 MainPage.xaml
의 상단에 MainViewModel.cs
에 LoadData
방법에서 오는, 당신은
d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"
를 볼 수 있습니다 여기에 "D"네임 스페이스입니다 '디자인'에 대한 니모닉. 샘플 데이터 XAML 파일을 보면 이라는 클래스가 Items
컬렉션으로 선언되어 있습니다. 런타임 MainViewModel.cs
(특히 LoadData
법)에서
는 MainViewModel
클래스 Items
속성에 의해 상품 하나를 추가하고, 그 클래스는 차례로 MainPage
생성자의
런타임
DataContext
설정된다
파노라마 컨트롤 자체는
<phone:LongListSelector Margin="0,0,-22,0" ItemsSource="{Binding Items}">
같은 마크 업 그래서 어떤 현재 DataCo에 Items
라는 컬렉션을 볼 것으로 예상 것있다 ntext는 사실이며, 두 개의 서로 다른 데이터 컨텍스트가 실제로 작동한다는 사실은 사용자가보고있는 것을 설명합니다.
데이터 바인딩 마법은 엄청나게 강력하고 강력하지만 때로는 머리를 긁적 거리게 만듭니다.
처음으로 스택 오버플로를 환영합니다. Windows phone과 같은 놀라운 플랫폼을위한 작업에 대한 두 번째 축하. 이제는 절차가 끝났으므로 질문을 게시 할 때 코드를 게시하십시오. 그렇지 않으면 정말로 devs가 여기에 있고 질문에 답할 수 있습니다. –
또한 * 질문 * 게시시 "도움이된다면 감사 할 것"이라는 질문이 아닙니다. [당신이 가지고있는 코드] (http://www.sscce.org/)로 질문을 업데이트 할 때, 예를 들어 "어떻게 해결할 수 있습니까?" 또는 "바에서 foo로 데이터를 표시하려면 어떻게해야합니까?". 그렇게하면 다른 사람들은 추측하는 대신 원하는 것을 이해하는 데 훨씬 쉬운 시간을 갖게됩니다. – Patrick
좋아요, 나는 당신이 타고있는 말을 타고 다음 번에 그 일을 할 것입니다.어떤 코드도 게시하지 않은 이유는 디자인 단계에서부터 그 앱을 만들 때입니다. 텍스트 문자열의 데이터가 어디로 이동했는지 이해하려고했습니다. 디자인보기에서는 Design One Design Two 등이 나와 있기 때문에 SampleData/MainViewModelSampleData.xaml 파일에서이를 변경하고 실행하면됩니다. 그것은 보여주지 않습니다, 그것은 단지 "RuntimeOne, RuntimeTwo, etc."라고 말합니다. scrollView! –