【问题标题】:Change Backcolor of progressbar in wp8在wp8中更改进度条的背景色
【发布时间】:2013-11-09 17:36:20
【问题描述】:

我应该如何更改 wp8 应用程序中进度条控件的背景颜色。虽然它可以通过设计器视图进行更改,但我想稍后通过我无法做到的 c# 代码更改它:(。 我试过做

percentprogress.Background=<different values>

其中不同的值是十六进制和 rgb 代码,percentprogress 是它的名称,甚至尝试过

System.Windows.Media.Brush

任何想法,如何实现这一目标?

还有一件事,如何在用户每次打开应用程序时更改此颜色,无论是新会话还是暂停应用程序的恢复。我应该把它放在 InitializeComponent() 下吗? { 在 public MainPage() 方法下是指它下面? }

谢谢:)

【问题讨论】:

    标签: c# windows-phone-8


    【解决方案1】:

    您可以像这样更改 ProgressBar 颜色:

    percentprogress.Foreground = new SolidColorBrush(Color.FromArgb(255, 24, 50, 60));
    percentprogress.Foreground = new SolidColorBrush(Colors.Orange);
    

    要在每次用户打开应用程序时更改代码 - 在 App.xaml.cs 中,在 Application_Launching 和 Application_Activated 方法中保存一些应更改颜色的静态标志

    public static bool ChangeColor;
    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        ChangeColor = true;
    }
    
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        ChangeColor = true;
    }
    

    然后在您的页面中更改它,如下所示:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
    
        if (App.ChangeColor)
        {
            Random m = new Random();
            percentprogress.Foreground = new SolidColorBrush(
                Color.FromArgb(255, (byte)m.Next(0, 255), (byte)m.Next(0, 255), (byte)m.Next(0, 255)));
            App.ChangeColor = false;
        }
    }
    

    【讨论】:

    • 像魅力一样工作,另一件事,你能帮帮我吗,为什么我们在 SolidColorBrush 前面需要“新”关键字。再次感谢:)
    • 因为您正在创建 Brush 的新实例。您可以创建多个 Brush 实例并将它们本地保存在您的应用中,而无需再次创建它们。
    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 2012-08-01
    • 2014-07-15
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多