Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 7.1双向绑定不';好像不行_C#_Xaml_Mvvm_Binding_Windows Phone 7.1 - Fatal编程技术网

C# Windows Phone 7.1双向绑定不';好像不行

C# Windows Phone 7.1双向绑定不';好像不行,c#,xaml,mvvm,binding,windows-phone-7.1,C#,Xaml,Mvvm,Binding,Windows Phone 7.1,首先,我很抱歉问这个问题,但我希望你能帮助我。 我有一个带有progressbar的windows phone 7.1 one应用程序。我想绑定progressbar双向模式,但我已经尝试了很多,找不到任何解决方案 视图模型: public class CollectionViewModel : INotifyPropertyChanged { private bool _isLoading; public bool IsLoading { get

首先,我很抱歉问这个问题,但我希望你能帮助我。 我有一个带有progressbar的windows phone 7.1 one应用程序。我想绑定progressbar双向模式,但我已经尝试了很多,找不到任何解决方案

视图模型:

public class CollectionViewModel : INotifyPropertyChanged
{
    private bool _isLoading;

    public bool IsLoading 
    { 
        get { return _isLoading; }

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

                NotifyPropertyChanged("IsLoading");
            }
        }
    }
}
在我的数据透视页中,我将collectionViewModel的一个实例绑定到我的数据透视项,如下所示:

 public partial class Main_PivotPage : PhoneApplicationPage
 {
    CollectionViewModel _collectionViewModel;

    public Main_PivotPage()
    {
        InitializeComponent();
        _collectionViewModel = new CollectionViewModel();
        collectionPivotItem.DataContext = _collectionViewModel;
    }
}
collectionPivotItem.DataContext = _collectionViewModel;
        progressBar.DataContext = _collectionViewModel;
在这个数据透视页面中,我有一个ProgressBar,它绑定到IsLoading属性

XAML



当我将该属性的值更改为true时,不会发生任何事情。progressbar不会开始加载。

好吧,我没有提到我将progressbar嵌套到listfooter中。这就是问题所在。然而奇怪的是,绑定的datacontext适用于我的longlistselector,但不适用于其中的listfooter。我必须将datacontext单独绑定到progressBar,如下所示:

 public partial class Main_PivotPage : PhoneApplicationPage
 {
    CollectionViewModel _collectionViewModel;

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

这解决了我的问题

你没有理由用两种方式来约束自己。什么是
collectionPivotItem
?您说得对,这里不需要双向绑定,但单向绑定也不起作用。我也有同样的问题,一个文本框,我真的需要双向绑定。collectionPivotItem是PivotControl中的一个PivotItem的名称,我也尝试过绑定到progressbar中的datacontext,但这不会有什么区别