Прежде всего, мне очень жаль это спрашивать, но я надеюсь, что вы можете мне помочь. У меня есть телефон для 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}"/>
При изменении значения этого свойства к истинному ничего не случится. Индикатор прогресса не начнет загружаться.
Нет причин для того, чтобы ваше связывание было двумя способами. Что такое 'collectionPivotItem'? –
Вы правы, привязка к двум каналам здесь не нужна, но один из способов тоже не будет работать. У меня также такая же проблема с текстовым полем, где мне действительно нужна двусторонняя привязка. collectionPivotItem - это имя PivotItem внутри PivotControl. Я также попытался привязать к datacontext в панели прогресса, но это не повлияет – user2714108