2013-09-28 1 views
0

일종의 체크리스트 앱을 만들고 있습니다. detailPage.xaml에 그런Windows Phone : 런타임에 TextBlock 스타일 변경

public void TextBlock1(object sender, MouseButtonEventArgs e) 
    { 
     (App.Current as App).detailTitle = "Check 1"; 
     (App.Current as App).detailMessage = "This is item 1"; 
     (App.Current as App).pageReferrer = "pivot1.Check1"; 
     Uri detailPage = new Uri("/DetailPage.xaml", UriKind.Relative); 
     NavigationService.Navigate(detailPage); 
    } 

: 다음 doneButton_Click 내가 참조 TextBlock의 스타일을 변경할 수 할 일이 이제

public DetailPage() 
    { 
     InitializeComponent(); 
     DetailPageTitle.Text = (App.Current as App).detailTitle; 
     textBlockDetail.Text = (App.Current as App).detailMessage; 
    } 

    private void doneButton_Click(object sender, EventArgs e) 
    { 
     NavigationService.GoBack(); 
    } 

전화를 클릭 StackPanel에의 TextBlocks의 시리즈가 있습니다 PhoneTextExtraLargeStyle에서 TextBlockStyleClicked라는 내가 만든 하나까지.

어떻게하면됩니까?

답변

0

이 시도 :

public static class FrameworkElementExtensions 
{ 
    public static object TryFindResource(this FrameworkElement element, object resourceKey) 
    { 
     var currentElement = element; 

     while (currentElement != null) 
     { 
      var resource = currentElement.Resources[resourceKey]; 
      if (resource != null) 
      { 
       return resource; 
      } 

      currentElement = currentElement.Parent as FrameworkElement; 
     } 

     return Application.Current.Resources[resourceKey]; 
    } 
} 

사용이 도움이

ApplicationTitle.Style = (Style) ApplicationTitle.TryFindResource("PhoneTextTitle1Style"); 

희망을.

+0

어떻게 구현하나요, 저는 WP8 개발을 처음 접했습니다. –

+1

무엇이 문제의 원인입니까? 다음은 간단한 예입니다. https://dl.dropboxusercontent.com/u/31216763/PhoneApp1.rar – Lumen

관련 문제