none
ProgressBar是不是有缺陷啊? RRS feed

  • 问题

  • ProgressBar loadProgress = new ProgressBar();
                loadProgress.Background = new SolidColorBrush(Colors.Gray);
                loadProgress.Width = 230;
                loadProgress.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 187, 255));
                loadProgress.HorizontalAlignment = HorizontalAlignment.Right;
                Binding value = new Binding();
                value.Mode = BindingMode.OneWay;
                value.Path = new PropertyPath("Value");
                loadProgress.SetBinding(ProgressBar.ValueProperty, value);

    只下载或上传一个的情况下ProgressBar正常,多个就不动了,把ProgressBar换成Slider就一切都正常,Slider能做到PreogressBar那样的外观吗?
    2013年2月25日 7:03

全部回复

  • Hi,

    多个ProgressRing的动画是没有问题的。不过从你的代码里看不出你怎么做的,能提供更多的代码吗?


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年2月26日 9:54
    版主
  • 你好,不是ProgessRing是ProgressBar。我已经用disable状态的Slider替换它了。

    我是在前台创建一个弹出窗,弹出窗里建个StackPannel(loadStackPanel),

    foreach (LoadClass item in Drive.loadList) { StackPanel stackPanel = new StackPanel(); ProgressBar loadProgress = new ProgressBar(); loadProgress.Background = new SolidColorBrush(Colors.Gray); loadProgress.Width = 230; loadProgress.Height = 7; loadProgress.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 187, 255)); loadProgress.HorizontalAlignment = HorizontalAlignment.Right; Binding value = new Binding(); value.Mode = BindingMode.OneWay; value.Path = new PropertyPath("Value"); loadProgress.SetBinding(ProgressBar.ValueProperty, value);

    StackPanel.DataContext = item;

    StackPanel.Children.Add(loadProgress); loadStackPanel.Children.Add(stackPanel); }

    换成Slider好使,绑定方面应该没有问题的。

    Drive.loadList是ObservableCollection<LoadClass>类型

    LoadClass中value属性:

    private int _value;
            public int Value
            {
                set
                {
                    _value = value;
                    if (PropertyChanged != null)
                    {
                        //用于发出通知信号的PropertyChanged事件
                        PropertyChanged(this, new PropertyChangedEventArgs("Value"));
                    }
                }
                get
                {
                    return _value;
                }
            }

    2013年2月27日 2:13
  • 我觉得是弹出窗的问题,试试不用弹出窗,就在Page中使用多个ProgressBar是否正常。

    我需要去测试下你的代码,我下班后拿Windows 8 看看。


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年2月28日 9:37
    版主