C# Windows Phone 7.1双向绑定不';好像不行
首先,我很抱歉问这个问题,但我希望你能帮助我。 我有一个带有progressbar的windows phone 7.1 one应用程序。我想绑定progressbar双向模式,但我已经尝试了很多,找不到任何解决方案 视图模型: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
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,但这不会有什么区别