2012-04-23 9 views
1

silverlightテンプレートを使用してナビゲーションアプリを作成しました。私はHome, About, Info, Mapsという名前の4つのタブを持っています今誰かを選択すると、それはうまく動作しますが、どちらが選択されているように見えません。選択した1つのタブに色の変更がないため。Silverlightナビゲーションアプリケーションでタブの色を変更するにはどうすればいいですか?

選択したタブの色を変更する方法を教えてください。

おかげ

+0

いわゆるタブのコードサンプルを提供できますか?複数のタブ項目を持つタブコントロールを使用しているのですか、またはメインページにデフォルトリンクとして表示されるリンクボタンについて話していますか? – Stainedart

+0

はいHomeとAboutボタンが付属しています。デフォルトのテンプレート – TheBond

答えて

0

は、私はこれを明示的に自分自身を演じたことはありませんが、デフォルトのスタイルで、この行動は背後にあるコードではあり

  <Border x:Name="LinksBorder" Style="{StaticResource LinksBorderStyle}"> 
       <StackPanel x:Name="LinksStackPanel" Style="{StaticResource LinksStackPanelStyle}"> 

        <HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}" 
           NavigateUri="/About" TargetName="ContentFrame" Content="About"/> 
       </StackPanel> 
      </Border> 

です:

// After the Frame navigates, ensure the HyperlinkButton representing the current page is selected 
    private void ContentFrame_Navigated(object sender, NavigationEventArgs e) 
    { 
     //This is to hide/show the leftside menu 
     ApplyConfiguration(ApplicationConfiguration.GetConfiguration()); 

     foreach (UIElement child in LinksStackPanel.Children) 
     { 
      HyperlinkButton hb = child as HyperlinkButton; 
      if (hb != null && hb.NavigateUri != null) 
      { 
       if (hb.NavigateUri.ToString().Equals(e.Uri.ToString())) 
       { 
        VisualStateManager.GoToState(hb, "ActiveLink", true); 
       } 
       else 
       { 
        VisualStateManager.GoToState(hb, "InactiveLink", true); 
       } 
      } 
     } 
    } 

お知らせ後藤状態アクティブではないこのコードは、ナビゲーションSilverlightプロジェクトのデフォルトテンプレートに基づいています。 スタイルのStaticResourceを保持することで問題を解決する必要があります。次に、自分のスタイルを作成して作成することができます

関連する問題