2009-09-10 8 views
2

App.cs에서 - 응용 프로그램을 나타내는 클래스에 필드를 추가한다고 가정합시다. 앱 페이지에서 해당 입력란에 액세스 할 수 있습니까? 그렇다면 어떻게 할 수 있습니까? 일단이 멤버 필드를 초기화하면 응용 프로그램의 런타임 기간 동안 "활성"상태가된다고 가정합니다.응용 프로그램 멤버에 액세스 하시겠습니까?

답변

3

하실 수 있습니다. 기본적으로 현재 응용 프로그램을 가져 와서 App으로 캐스팅합니다 (또는 App.Xaml의 클래스 이름이 무엇이든). 다음은 그 사실을 보여주는 스 니펫입니다.

var myApp = Application.Current as App; 
var n = myApp.NameOfPropertyAdded; 

나는 무엇을 의미하는지 확신하지 못합니다. 나는 당신이 물건을 바인딩하고 업데이트 할 때 바인딩을 업데이트한다고 가정 할 것이다. 그렇게하려면 속성 변경 알림을 설정해야합니다.

App.xaml.cs 파일에 속성을 추가하는 방식이 약간 재미 있습니다. 나는 XAML에서 쉽게 참조 할 수 있도록 응용 프로그램 수준 리소스로서 응용 프로그램에 물건을 추가하는 것이 바람직한 것이라고 생각합니다.

1

이 필드에 자주 액세스하려는 경우 나중에 쉽게 액세스 할 수 있도록 ViewModel 또는 Xaml.cs에서 현재 응용 프로그램의 속성을 추가하는 것이 유용 할 수 있습니다.

public Application CurrentApp 
{ 
    get 
    { 
     return Application.Current as App; 
    } 
} 

은 다음 페이지에서, 당신은 당신의 재산

CurrentApp.MyField; 

참조 할 수 있습니다 그리고 네, 당신의 App.xamls.cs의 필드 또는 속성은 응용 프로그램의 수명 동안 주위에있을 것입니다.

+0

좋은 하나를 사용하여 액세스 할 수 있습니다. 감사! – Maciek

0

당신은 필드, 재산, 정적 방법을 경우에, 당신은 결코 생각하지

App.myField; 
App.MyProperty; 
App.MyMethod(); 
관련 문제