2009-12-19 3 views
0

첫 실버 라이트 탐색 애플리케이션을 개발하려고합니다. 이 응용 프로그램에는 2 개의 기본 페이지, "데이터"및 "분석"이 있습니다. 데이터 페이지는 사용자가 CSV 파일에서 사용자 정의 datatable 개체로로드 할 수있는 곳이며, 분석 페이지는 사용자가 데이터 테이블을 분석 할 수있는 곳입니다.Silverlight - 페이지간에 데이터 공유

분석 페이지에서 데이터 페이지에 액세스 할 수 있도록 데이터 페이지에서 데이터 테이블을 노출/공유하려면 어떻게해야합니까?

답변

2

. 이 모든 필드는 모든 페이지에서 액세스 할 수 있습니다. 그래서 그것들은 전역 변수로 사용될 수 있습니다. 다음과 같은 것 :

public class DataClass 
{ 
    public static DataTable DataTable1; 
} 
+0

네, 이것은 꽤 좋은 방법으로 보이고 또한 앱 클래스를 깨끗하게 유지할 것이다. – Calanus

0

데이터베이스를 응용 프로그램 리소스 또는 Application Lifetime Object로 설정합니다.

+0

그것은 데이터베이스와 관련이 없습니다. 앱에는 데이터베이스가 없습니다. 사용자가 데이터 페이지의 CSV 파일에로드하면 아무것도 될 수 없으므로 어떻게 정적으로 만들 수 있는지 이해할 수 없습니까? – Calanus

0

격리 된 저장소에 저장하고 분석 페이지에서 다시로드하십시오. 간단한 - 그럼 당신이

 App app = (App)Application.Current; 

를 통해 언제든지 Application 클래스에 액세스하고 응용 프로그램 클래스에 변수를 정의 할 수 있다고했다 결국

+0

옵션이 될 것 같지만 메모리에 저장할 수있을 때 디스크에 serialise/deserialise를 할 때 과도한 것처럼 보입니다. – Calanus

+0

이것이 실버 라이트에 익숙하지 않은 부분입니다. 나는 페이지마다 객체를 다루는 방법을 설명하는 좋은 문서를 찾을 수 없었다. 실제로 Silverlight의 설명서와 예제가 부족한 것 같습니다. 거의 모든 것이 참조이고 내가 찾은 대부분의 블로그는 문서에서 발견 된 아주 간단한 예제를 다시 보여줍니다. 이런 유형의 시나리오에 대해 내가 생각해 낼 수있는 가장 좋은 점은 격리 된 스토리지입니다. – mattb

+0

앱 변수에 대한 제안을 살펴 보겠습니다. 언뜻 보면 그것은 마치 이런 상황에 과잉 인 것처럼 보이는 global.asax 분위기와 같습니다. 나는 연재가 지나치게 잔인 할 것이라는 데 동의한다. end-to-end biz 신청서를 보여주는 문서 링크가있는 경우 게시하십시오. 프리즘 예제 (주식 거래자)를 살펴 봤지만 어떤면에서는 훌륭하지만 매우 복잡하며 대부분 UI의 모듈성을 다룹니다. – mattb

1

전 세계적으로 사용할 수 있도록 앱 클래스에서 변수를 정의하는 것이 꽤 불편합니다. 디스크를 중개자로 사용하는 것을 솔직히 볼 수 없습니다.

나는 깨끗한 방법은 페이지 사이에 전달 될 수있는 비즈니스 객체에 대한 참조를 유지하기 위해 프레임을 사용할 수 있습니다 SL4에서 this tutorial

에서이 문제를 해결하는 한 가지 방법을 탐구한다. 나는 그걸 조금 탐험하고 곧 논평 할 것이다.

감사

- 당신은 또한 공공 정적 필드와 일부 클래스를 만들 수 있습니다 Jesse Liberty

+0

나는이 링크를 보았는데 흥미로운 점이있다.나는 App 클래스의 전역 변수가 무엇인지에 대한 우려를 이해하고 Bob 삼촌이 나를이기라고 확신하지만, 링크의 대안은 많은 코드 + App의 몇 줄에 걸친 복잡성을 추가 한 것처럼 보입니다. 수업! – Calanus

+0

나는 SL4 방법을 보길 고대한다 ... – Calanus

관련 문제