Visual Studio 2010 Visual Designer를 사용하면 디자인 타임 중에 외부 XML 파일을 통해 데이터를로드 할 수 있습니까?외부 XML 파일의 시간 데이터 디자인
d : DataContext를 통해 추가 할 수있는 것으로 보이지만 많은 양의 데이터가 있으며 XML을 통해로드하는 것이 더 쉽습니다. 이것이 가능한가?
Visual Studio 2010 Visual Designer를 사용하면 디자인 타임 중에 외부 XML 파일을 통해 데이터를로드 할 수 있습니까?외부 XML 파일의 시간 데이터 디자인
d : DataContext를 통해 추가 할 수있는 것으로 보이지만 많은 양의 데이터가 있으며 XML을 통해로드하는 것이 더 쉽습니다. 이것이 가능한가?
당신이 할 수있는 한 가지는 런타임 중에 사용할 리포지토리 (또는 다른 객체)의 디자인 타임 버전을 만드는 것입니다. 제가 정기적으로 사용하는 간단한 접근법은 그렇게됩니다. App.xaml에서
:
<Application ...>
<Application.Resources>
<local:MyClass x:key="DesignData"/>
</Application.Resources>
</Application>
다음 클래스 생성자에서 당신이 디자인 모드에 있음을 감지 할 수 있으며, 그에 따라 데이터를 채 웁니다
public class MyClass
{
public MyClass()
{
bool isInDesign = DesignerProperties.GetIsInDesignMode(new DependencyObject());
if (isInDesign)
{
// Load your XML + other setup routines.
}
// Normal ctor code.
}
}
을 마지막으로,이 항목을 사용하고 귀하의 컨텍스트로 데이터.
<Window ...>
<Grid d:DataContext="{StaticResource DesignData}">
...
</Grid>
</Window>
이것은 아마도 복잡한 디자인 타임 데이터를 얻는 데 사용할 수있는 가장 간단한 방법입니다. 물론 매우 복잡한 시나리오에 대해서는 'MyClass'또는 다른 접근법의 하위 클래스를 사용해야 할 수도 있지만,이를 처리 할만큼 충분히 알고있는 것 같습니다. 개인적인 경험으로 말하면이 접근법을 사용하여 생각할 수있는 모든 프로그램 상태에 대한 설계 데이터를 작성할 수 있으며 원하는 경우 DB에서 실제 데이터를 가져올 수도 있습니다. 물론, 응용 프로그램에서 디자인 데이터에 대해 생각하기 시작할수록 실제로 실제로 작동하게 만드는 것이 더 쉬워 질 것입니다.
그게 내가 한 일이야. 나는 처음에는 어떤 결과도 보지 못했습니다. 감사. – kevindaub
디자인 타임에 XML 파일을 어떻게로드합니까? 파일을 어디에 둘까요? 디자이너에게 파일을 찾는 방법은 무엇입니까? – SelAromDotNet
디자이너가 클래스의 인스턴스를 구성하므로이 클래스를로드합니다. 위의 코드 블록에서 // XML + 다른 설정 루틴을 읽어 들인다. ? 원하는 모든 이전 위치에서 파일을로드 할 수 있습니다. 데이터베이스, 파일 시스템 또는 임베디드 리소스에 액세스 할 수 있습니다. –
'd : DataContext'와 'XML을 통해로드'를 사용하는 것의 차이점은 무엇입니까? d : DataContext는 XML을로드 할 것이므로 찾고있는 다른 용도 나 기능이 있습니까? –
My XML은 내 저장소에 대한 호출을 통해로드되므로 내 datacontext가 해당 저장소와 같습니다. 따라서 XML로 설정하면이 경우 작동하지 않습니다. – kevindaub