Windows Phone 7.1双向绑定;似乎不起作用
本文关键字:不起作用 绑定 Phone 1双 Windows | 更新日期: 2023-09-27 18:28:58
首先,我很难过问这个问题,但我希望你能帮助我。我有一个windows phone 7.1一个带有进度条的应用程序。我想绑定progressbar TwoWay模式,但我已经尝试了很多,但找不到任何解决方案。
ViewModel:
public class CollectionViewModel : INotifyPropertyChanged
{
private bool _isLoading;
public bool IsLoading
{
get { return _isLoading; }
set
{
if (_isLoading != value)
{
_isLoading = value;
NotifyPropertyChanged("IsLoading");
}
}
}
}
在我的数据透视页中,我将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时,将不会发生任何事情。进度条不会开始加载。
好吧,我没有提到我将进度条嵌套到了listfooter中。这就是问题所在。然而,奇怪的是,绑定的数据上下文适用于我的长列表选择器,但不适用于其中的列表页脚。我不得不将数据上下文单独绑定到progressBar,如下所示:
collectionPivotItem.DataContext = _collectionViewModel;
progressBar.DataContext = _collectionViewModel;
这解决了我的问题。