繁体   English   中英

Windows Phone 7.1双向绑定似乎不起作用

[英]Windows Phone 7.1 Two Way Binding doesn't seem to work

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

ViewModel:

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时,将不会发生任何事情。 进度栏将不会开始加载。

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

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

这解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM