0

首先,我真的很难问这个问题,但我希望你能帮助我。我有一个带有进度条的 Windows Phone 7.1 应用程序。我想绑定进度条双向模式,但我尝试了很多,找不到任何解决方案。

视图模型:

public class CollectionViewModel : INotifyPropertyChanged
{
    private bool _isLoading;

    public bool IsLoading 
    { 
        get { return _isLoading; }

        set
        {
            if (_isLoading != value)
            {
                _isLoading = value;

                NotifyPropertyChanged("IsLoading");
            }
        }
    }
}

在我的 PivotPage 中,我将 collectionViewModel 的一个实例绑定到我的 PivotItem,如下所示:

 public partial class Main_PivotPage : PhoneApplicationPage
 {
    CollectionViewModel _collectionViewModel;

    public Main_PivotPage()
    {
        InitializeComponent();
        _collectionViewModel = new CollectionViewModel();
        collectionPivotItem.DataContext = _collectionViewModel;
    }
}

在这个数据透视页中,我有一个绑定到 IsLoading 属性的 ProgressBar。

XAML

 <ProgressBar IsIndeterminate="{Binding IsLoading, Mode=TwoWay}"/>

当我将该属性的值更改为 true 时,什么都不会发生。进度条不会开始加载。

4

1 回答 1

0

好吧,我没有提到我将进度条嵌套到列表页脚中。这就是问题所在。然而奇怪的是,绑定的数据上下文适用于我的 longlistselector,但不适用于其中的 listfooter。我必须像这样将数据上下文单独绑定到progressBar:

collectionPivotItem.DataContext = _collectionViewModel;
        progressBar.DataContext = _collectionViewModel;

这解决了我的问题。

于 2013-08-25T09:26:06.063 回答