2013-08-24 69 views
0

首先,我覺得這很不好,但我希望你能幫助我。 我有一個Windows Phone 7.1的一個應用程序與進度條。我想綁定進度條TwoWay模式,但我嘗試了很多,無法找到任何解決方案。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; 
    } 
} 

這裏面pivotpage我的進度是綁定到IsLoading財產。

XAML

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

當我更改屬性爲true什麼都不會發生的值。進度條不會開始加載。

+0

沒有理由讓你的綁定成爲兩種方式。什麼是'collectionPivotItem'? –

+0

你說得對,在這裏沒有必要使用雙向綁定,但是一種方法也不行。我也有一個文本框的問題,我真的需要雙向綁定。 collectionPivotItem是PivotControl中的PivotItem的名稱我也嘗試綁定到進度條中的datacontext,但它沒有區別 – user2714108

回答

0

嗯,我沒有提到我將進度條嵌套到listfooter中。這是問題所在。然而奇怪的是,綁定的datacontext正在爲我的longlistselector工作,而不是爲listfooter工作。我必須將datacontext分別綁定到progressBar,如下所示:

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

這解決了我的問題。