Silverlight テンプレートを使用してナビゲーション アプリを作成しました。Nowという名前の4つのタブがありますHome, About, Info, Maps
が、誰かを選択すると正常に動作しますが、どれが選択されているようには見えません。選択した 1 つのタブの色の変更がないため。
選択したタブの色を変更する方法を教えてください。
ありがとう
Silverlight テンプレートを使用してナビゲーション アプリを作成しました。Nowという名前の4つのタブがありますHome, About, Info, Maps
が、誰かを選択すると正常に動作しますが、どれが選択されているようには見えません。選択した 1 つのタブの色の変更がないため。
選択したタブの色を変更する方法を教えてください。
ありがとう
私はこれを自分で明示的にプレイしたことはありませんが、デフォルトのスタイルではこの動作があります
<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);
}
}
}
}
goto 状態 Active から inactive に注目してください。このコードは、ナビゲーション Silverlight プロジェクトの既定のテンプレートから取得されます。スタイルの StaticResource を保持すると、問題が解決するはずです。次に、独自のスタイルを作成することができます