2013-08-24 1 views
0

Прежде всего, мне очень жаль это спрашивать, но я надеюсь, что вы можете мне помочь. У меня есть телефон для Windows 7.1 одно приложение с индикатором прогресса. Я хотел бы привязать режим progressway TwoWay, но я много пробовал и не нашел никакого решения.Windows Phone 7.1 Двухсторонняя привязка, похоже, не работает

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; 
    } 
} 

Внутри pivotpage я имею ProgressBar, который связывает со свойством IsLoading ,

XAML

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

При изменении значения этого свойства к истинному ничего не случится. Индикатор прогресса не начнет загружаться.

+0

Нет причин для того, чтобы ваше связывание было двумя способами. Что такое 'collectionPivotItem'? –

+0

Вы правы, привязка к двум каналам здесь не нужна, но один из способов тоже не будет работать. У меня также такая же проблема с текстовым полем, где мне действительно нужна двусторонняя привязка. collectionPivotItem - это имя PivotItem внутри PivotControl. Я также попытался привязать к datacontext в панели прогресса, но это не повлияет – user2714108

ответ

0

Ну, я не упоминал, что я вложил progressbar в listfooter. Это была проблема. Однако странно, что связанный datacontext работает для моего longlistselector, но не для listfooter в нем. Мне пришлось привязать datacontext отдельно к progressBar примерно так:

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

Это решило мою проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^