2010-05-19 12 views
8

블렌드 4에서 디자인 타임 사용을 위해 임의의 XML 데이터를 제공하기 위해 XmlDataProvider를 사용하는 방법이 궁금합니다.이를 지정하는 몇 가지 방법을 시도했지만 블렌드는 선택하지 않았습니다. UI 요소가 비어 있습니다.d : DataContext와 함께 XmlDataProvider를 사용할 수 있습니까?

블렌드는 샘플 데이터를 생성하고 관리하는 기능을 가지고 있지만 간단한 사용자 컨트롤 중 일부에 대해서는 오버 헤드가 많습니다. XAML 파일 (즉 암시 적 스키마)에서 생성되는 많은 추가 파일없이 인라인으로 작동하는 것을 찾고 있습니다. XmlDataProvider를 리소스에 넣은 다음이를 참조하는 d : DataContext를 수행하는 것이 좋은 방법 인 것처럼 보였지만 제대로 작동하지 않습니다.

d : DesignData 또는 ObjectDataProvider를 사용하는 경우와 같이 모든 속성에 대해 setter를 노출하지 않으므로 내 viewmodel 클래스를 사용할 수 없습니다. 읽기 전용 인 경우 디자인 타임 데이터로 해당 속성을 설정할 수 없습니다.

어떻게 디자인 타임에 바인딩 할 수있는 순수 Xaml로 모델을 빌드 할 수 있습니까?

+0

샘플 데이터의 어느 부분이 "많은 오버 헤드"입니까? –

+0

오랫동안 샘플 데이터를 사용하지 않았지만 마지막으로 특별한 이름의 폴더를 만들고 파일을 추가한다는 것을 기억합니다. – scobi

+0

그래,하지만 내가 아는 한, 그 파일은 디자인 타임에만 사용되며 실제 빌드에는 사용되지 않는다. –

답변

0

내가 제대로 이해하면

, 나는 보통 이런 식으로 일을하면서도, 내가 모델이 얼마나 복잡한 얻을 수 있지만,이 순서에 디자인 시간에 당신을 위해 일할 수있는 방법 특정 데이터 템플릿 등을 테스트 할 수 있습니다.

<Window.Resources> 
     <XmlDataProvider x:Key="People" XPath="/IDs" > 
      <x:XData> 
       <IDs> 
        <ID name="A2231" /> 
        <ID name="A3dsa" /> 
        <ID name="Ad21d" /> 
        <ID name="Ad231" /> 
       </IDs> 
      </x:XData> 

     </XmlDataProvider> 
</Window.Resources> 



    <StackPanel Grid.Row="0" Grid.Column="1" DataContext="{StaticResource People}"> 
      <Label Width="200" Height="200" Content="{Binding XPath=ID/@name}"/> 
    </StackPanel> 

그게 무슨 뜻입니까? 그렇지 않다면 더 자세히 설명하십시오.

관련 문제