0

사용자가 이동 한 페이지를 고정 할 수 있기를 원하는데, 사용자가 고정한 항목에 따라 콘텐츠를 동적으로 표시하고 싶습니다. 첫 번째 2 차 타일은 할 수 있지만 문제는 시작 메뉴에 2 차 타일이 여러 개있을 때 모든 2 차 타일이 페이지에 대한 링크이지만 페이지 내용이 모두 마지막 타일과 동일하다는 것입니다. 2 차 타일.Windows phone 8에서 여러 개의 보조 타일을 설정할 수 없습니다.

페이지를 탐색 한 곳에서

, 나는 정보를 수신하고이 같은 페이지에 표시 설정 : 여기

내가 할 무엇, 정보에서

protected override void OnNavigatedTo(NavigationEventArgs e) 
     { 
      base.OnNavigatedTo(e); 


      if (!IsolatedStorageSettings.ApplicationSettings.Contains("isolated_image")) 
      { 
       IsolatedStorageSettings.ApplicationSettings.Add("isolated_image", NavigationContext.QueryString["pro_image"] as string); 
      } 
![enter image description here][1] 
      imageBase = (IsolatedStorageSettings.ApplicationSettings["isolated_image"] as string); 

      StreamResourceInfo sri = null; 


      Uri uri = new Uri(imageBase, UriKind.Relative); 
      uriString = uri.ToString(); 
      sri = Application.GetResourceStream(uri); 
      BitmapImage bitmap = new BitmapImage(); 
      bitmap.SetSource(sri.Stream); 

      base64 = ((App)Application.Current).ImageToBase64(bitmap); 

      item_image.Source = ((App)Application.Current).ImageFromBase64(base64); 

      if (!(IsolatedStorageSettings.ApplicationSettings.Contains("item_name"))) 
      { 
       IsolatedStorageSettings.ApplicationSettings.Add("item_name", PhoneApplicationService.Current.State["pro_name"]); 

      } 

      ShellTile secondaryTile = this.FindTile(SecondaryTileUriSource); 

      if (secondaryTile != null) 
      { 

       item_image.Source = ((App)Application.Current).ImageFromBase64(base64); 
      } 

      txtb_product_name.Text = PhoneApplicationService.Current.State["pro_name"] as string;    

     } 

내가 가진 때 핀 응용 프로그램 표시 줄에 사용자 프레스, 나는 마지막에 "? image_item ="+ ImageBase와

void btnPin_Click(object sender, EventArgs e) 
     {  
      ShellTile tile = this.FindTile(SecondaryTileUriSource); 
      if(tile==null) 
      { 

       StandardTileData tileData = this.GetSecondaryTileData(); 

       Uri uri = new Uri("/All Files/Product Files/Dry/Product Detail.xaml?item_image=" + imageBase, UriKind.Relative); 

       MessageBox.Show("the link uri is "+ uri.ToString()); 

       ShellTile.Create(uri, tileData); 


      } 
     } 

에 따라 고유 URI를 보조 타일을 만들 , 시작 메뉴에 여러 개의 보조 타일이있을 때 첫 번째 및 두 번째 보조 타일은 고정 된 마지막 보조 타일과 같은 페이지의 내용을 표시합니다.

링크 uri는 이미 고유하다고 확신합니다. 그렇지 않으면 여러 개의 보조 타일을 만들 수 없습니다. 누구든지 저에게 잘못된 일을 도와 줄 수 있습니까? 감사합니다

답변

0

먼저, 나는 당신의 이미지를 식별하는 일종의 ID를 사용하여 이미지 데이터에서 문자열을 만드는 대신 귀하의 고정 논리를 바꿀거야 ... 당신은 현재의 접근 방식은 복잡하지 않습니다.

이미지 1, 이미지 2, 이미지 3 등과 같이 간단 할 수 있습니다. 같은 그런 다음 쿼리 문자열에서 ID를 얻을 및 이미지 URI를 구성 : 당신이 성공적으로 여러 보조 타일을 만든 경우 new Uri("../image" + id)

, 각은 고유해야하며 당신의 문제는 아마, 내가 '당신의 OnNavigatedTo()

+0

죄송에서 쿼리 문자열을 구문 분석에있다 네가 한 말을 분명히하지 않았어. 'Uri uri = 새로운 Uri ("/ 모든 파일/제품 파일/건조/제품 정보 ..xaml? item_image ="+ imageBase + "& id ="+ id, UriKind.Relative); 그런 다음 이미지를 올바르게 표시하기 위해 사용자가 시작 메뉴에서 보조 타일을 클릭 할 때 특정 ID가 일치하는지 확인하는 방법은 무엇입니까? 감사합니다. –

+0

아니, 미안하지만 충분히 명확하지 않았습니다. 이미지 불러 오기를위한 당신의 Uri는이 새로운 Uri ("[이미지 폴더 경로]/image"+ Id + ".png", Urikind.Relative)와 비슷하게 보입니다. 내가 말한 방식으로 이미지 파일을 가지고 있다고 가정합니다. – Filip

+0

많은 도움을 주셔서 감사합니다. 이제 모든 것이 잘되었습니다. 먼저 Uri uri = new Uri ("/ All Files/Product Files/Dry/Product Detail.xaml? item_image ="+ imageBase + ")를 사용하여 이미지 아이디를 보냅니다. "& id ="+ id'. 그러면 모든 정보가 저장된 xml 파일의 모든 제품 항목을 쿼리합니다. –