2010-07-29 3 views
0

Windows Phone 응용 프로그램을 개발 중입니다. 나는 실버 라이트 질문을 생각하기 때문에 여기서 질문을한다.탐색 URI에 C# enum 값 추가

가 나는 App.xaml에 다음과 같은 내비게이션 URI를 정의 :

<!-- Navigation links--> 
<nav:UriMapper x:Name="UriMapper"> 
    <nav:UriMapper.UriMappings> 
     <nav:UriMapping Uri="/Destination" MappedUri="/Views/Tourism/Common.xaml?Type=1"/> 
     <nav:UriMapping Uri="/Points" MappedUri="/Views/Tourism/Common.xaml?Type=2"/> 
    </nav:UriMapper.UriMappings> 
</nav:UriMapper> 

그리고 다음 C# 열거 :

public enum TourismItemType 
{ 
    Destination = 1, 
    PointOfInterest = 2, 
    Content = 3 
} 

내가 MappedUri의 '1'을 변경하려면 = " /Views/Tourism/Common.xaml?Type= "TourismItemType.Destination에서 가져온 값입니다.

을 그리고 프로그래밍 방식으로 할 수 있지만, XAML에 TourismType.Destination가 나타내는 값에 액세스 할 수있는 방법이있다 : 내가 생각

, 나는 그렇게 할 수 있습니까?

감사합니다.

답변

2

열거 형 값을 문자열로 전달한 다음 OnNavigatedTo 이벤트에서 열거 형으로 파싱하면 쉽게 구현할 수 있습니다. common.xaml에서

MappedUri="/Views/Tourism/Common.xaml?Type=PointOfInterest" 

다음 :

string selectedType = ""; 
if (NavigationContext.QueryString.TryGetValue("Type", out selectedType)) 
{ 
    var tit = Enum.Parse(typeof (TourismItemType), selectedType, true); 

    // do something with `tit`... 
}