2012-12-06 6 views
1
내가 바인딩 문제에 직면하고 있는데이 다음 예제입니다

: http://listboxwthcheckboxes.codeplex.com/목록 상자 바인딩 문제

지금이 순간의 단순한 문제가 예를합니다 (샘플 데이터 디렉토리에서) 성공적으로 ViewModelSampleData.xaml에 목록 상자를 바인더 제본 한 것을이다 . 그러나이 바인딩은 디자인보기에서 이것을 볼 때만 나타납니다. 앱을 실행하면 코드로 생성 된 새로운 런타임 데이터가 나타납니다. 이것은 내 경우에는 역효과가있다. 내 응용 프로그램은 xaml 데이터를 간단하게 표시 할 수 있습니다. 나는이 라인들로 무언가를해야한다는 것을 알고있다.

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
d:DataContext="{d:DesignData SampleData/ViewModelSampleData.xaml}" 

내가 뭘 할 수 있는지 설명해 주시겠습니까? 그리고 어떤 콜론이 사용되는지, 어떻게 런타임시 사용되는 것과 동일한 DataContext를 대체 할 수 있는지 이해하는 데 도움이되는 하나 또는 두 개의 링크를 제공하십시오.

+0

하시기 바랍니다 절대 초보자 ... 감사 – JehandadK

+2

이 도움이됩니까? http://stackoverflow.com/questions/10965853/how-to-have-designtime-data-in-winrt-xaml –

+0

"local :"네임 스페이스가 무엇인지 한 가지 질문 만합니다. 나는 나의 창 전화 페이지에서 그 어떤 것도 가지고 있지 않다. 감사! – JehandadK

답변

2

d: 네임 스페이스는 디자인 모드에서만 유효합니다. 당신이 d:없이 DataContext을 바인드 할 필요가 런타임 모드의

: 당신이 초보자로서

DataContext="{Binding ...}" 
+0

DataContext = "{Binding SampleData/ViewModelSampleData.xaml}"오류가 발생합니다. 이것은 MainPage.xaml의 루트 태그에서 수행됩니다. – JehandadK

+0

어떤 일이 벌어지고 있는지 이해하도록 안내하는 몇 개의 링크를 추가 할 수 있습니까? 나는 운이 좋지 않은 읽기 링크를 따라 갔다. – JehandadK

+0

샘플 데이터에 직접 바인딩 할 수 있는지 확실하지 않습니다. 샘플 데이터를 객체로 비 직렬화 한 다음 코드 숨김에서 해당 객체에 바인딩 할 수 있습니다. DataContext = myDeserializedObject. – thumbmunkeys

0

, 난 당신이 대신 복잡한 MVVM 접근 방식의 데이터 바인딩 용으로 똑바로 앞으로 접근 방식을 따라하는 것이 좋습니다 .

확인 Binding Data to ListBox through Code

이 링크 그리고 WP7이 또한 ListBox databinding

+0

링크를 사용해 주셔서 감사합니다. 저는 지금 XAML 객체에 데이터를 묶고 싶습니다. 당신의 도움을 주셔서 감사합니다! – JehandadK

+1

더 이상 동의 할 수 없습니다. 초보자 인 경우 처음부터 올바르게 배웁니다. 그가 새로운 건축 부채를 소개하도록 조언하는 것은 내 마음 속에 현명한 접근이 아닙니다. 그는 그것을 완벽하게 규정 할 필요는 없지만 잘못하지 말고 올바른대로하도록 권장해야합니다. 그리고 MVVM이 없다면 틀린 것입니다. –

+1

@ JerryNixon-MSFT 동의합니다. +1 당신의 코멘트 :) – nkchandra