2012-05-07 4 views
1

먼저 배경 이미지를 동적으로 변경하는 데 사용되는 단추 (BackgroundChooser로 이름 지정됨)를 만들었습니다. 배경 이미지를 배경으로 선택할 수 있습니다. 하지만 난 이미 내 전화 7 응용 프로그램에 대한 기본 배경 이미지 (image1.jpg)를 사용했습니다. 배경 버튼을 클릭하면 저장된 사진으로 이동합니다. 그 후 나는 자신의 배경 이미지로 이미지를 선택했습니다. 그러나 기본 배경 이미지는 여전히 변경되지 않습니다. 그런 다음 기본 배경을 검정색으로 변경하면 내 배경 이미지를 설정할 수 있습니다 (완벽하게 작동합니다). 도움이 필요하다!!! 미리 노력해 주셔서 감사합니다 !!! 다음은 배경을 동적으로 변경하는 중 오류가 발생했습니다.

내가 가지고있는 코드입니다 used- :

private void BackgroundChooser_Click(object sender, MouseEventArgs e) 
    { 
     var PhotoChooser = new PhotoChooserTask(); 
     PhotoChooser.Completed += new EventHandler<PhotoResult(PhotoChooser_Completed); 
     PhotoChooser.Show(); 
    } 

    void PhotoChooser_Completed(object sender, PhotoResult e) 
    { 
     { 
      if (e.TaskResult == TaskResult.OK) 
      { 
       System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage(); 
       bmp.SetSource(e.ChosenPhoto); 
       var app = Application.Current as App; 
       if (app == null) 
       return; 
       var imageBrush = new ImageBrush { ImageSource = bmp, Opacity = 0.5d }; 
       app.RootFrame.Background = imageBrush; 
       //app.RootFrame.Background = new SolidColorBrush(Colors.Black); //we can apply just color too like this 
      } 
     } 
    } 
+0

나는 이것을 시도도 작동하지 않았다. 누군가가 이것에 대한 답을 얻었는지 궁금하다. – Dante

+0

기본 배경을 어떻게 그리고 어디에서 설정하고 있습니까? –

답변

1

대신 app.RootFrame.Background, 페이지에 일부 표시 객체의 배경 속성을 설정하려고 등이 LayoutRoot 기본의 이름입니다 myPanoramaControl.Background = imageBrush; 또는 LayoutRoot.Background = imageBrush; (같은 새로운 WP 페이지에 대한 그리드 컨트롤)

+0

흠, app.RootFrame.Background를 사용하여 예제를 보았습니다. 아마 그게 전부 괜찮아요. 그렇다면'BitmapImage' obj에 문제가 있다고 생각합니다. 재미를 위해서,'bmp = new BitmapImage (새로운 Uri ("http : urlToAnImage", UriKind.Absolute))'를 설정하고 그것이 트릭을하는지보십시오. – earthling

+0

정말 대지를 지어 주셔서 감사합니다. – user1316766

관련 문제