【问题标题】:How to change color of tabs in silverlight navigation application?如何更改 Silverlight 导航应用程序中选项卡的颜色?
【发布时间】:2012-04-23 15:47:46
【问题描述】:

我使用 silverlight 模板创建了一个导航应用程序。我确实有 4 个名为 Home, About, Info, Maps 的选项卡现在,当我选择任何人时,它工作正常,但看起来不像选择了哪个选项卡。因为所选的一个标签没有颜色变化。

请建议我如何更改所选标签的颜色?

谢谢

【问题讨论】:

  • 你能提供一些所谓的标签的代码示例吗?您是在使用带有多个选项卡项的选项卡控件,还是在谈论作为默认链接出现在主页中的链接按钮?
  • 是的,默认模板中的主页和关于按钮

标签: c# silverlight navigation


【解决方案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);
                }
            }
        }
    }

注意转到状态 Active 和 inactive。此代码来自一个导航 silverlight 项目的默认模板。 保留样式的 StaticResource 应该可以解决问题。然后你可以去创造你自己的风格

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多