2009-10-29 3 views
1

5 페이지의 탐색 앱이 있습니다. 또한 3 개의 라디오 버튼이있는 usercontrol이 있습니다. 이 사용자 정의 컨트롤은 내 앱의 모든 5 페이지에서 사용됩니다. 기본적으로 첫 번째 라디오 버튼이 선택됩니다. 그러나 사용자가 세 번째 라디오 버튼을 클릭하고 다른 페이지로 이동하면 내 usercontrol이 선택한 세 번째 라디오 버튼을 계속 표시하게합니다. 이 작업을 수행하려면 어떻게해야합니까?Silverlight 탐색 앱 사용자 컨트롤 상태

답변

0

이렇게 할 수있는 방법이 몇 가지 있습니다. 아마도 가장 간단한 방법은 라디오 버튼의 선택된 항목에 대한 속성을 가진 클래스를 만드는 것입니다. 이 클래스의 인스턴스를 리소스로 응용 프로그램에 추가 한 다음 라디오 버튼을이 정적 리소스에 바인딩합니다. Application_Startup에서 App.xaml.cs를에서

public class MyState 
{ 
    public string SelectedRadioValue {get;set;} 
} 

추가

var state = new MyState() 
Resources.Add("myState", state); 

그런 다음 바인딩에 설정할 수 있습니다 당신은뿐만 아니라 걸릴 수

SelectedValue="{Binding Source={StaticResource myState},Path=SelectedRadioValue}" 

이 다른 접근 방식을 .

+0

내가하려는 것은 라디오 버튼보다 훨씬 복잡합니다. (단지 내가했던 것의 간단한 예를 만들고 싶었습니다.) 내 자신의 변수를 선언해야하는 것보다 더 쉽게 추적 할 수있는 방법이있을 것이라고 생각했습니다. –

+0

좀 더 복잡한 것을하려고하면 더 복잡한 질문을 게시해야합니다. 사람들이 질문하지 않은 질문에 답할 것을 기대할 수는 없습니다. – Bryant

0

이 컨트롤을보기 컨트롤 외부에 표시 할 수 있습니까? 보기가 표시되는 장소 외부의 MainPage.xaml에 배치해야하는 것 같습니다. 이 방법을 사용하면 하나의 컨트롤이 사용되고 모든 값에 해당 값을 사용할 수 있습니다.

+0

어떻게해야합니까? 샘플 코드가 있습니까? –

0

사용자가 다음 페이지 사이이 달성의 가장 쉬운 방법을 탐색 설정하는 것입니다 당신은 페이지의 상태를 저장하고자하는 경우 :

NavigationCacheMode="Required" 

를 당신의 페이지에 대한 XAML의 첫 번째 요소에 .

관련 문제