簡體   English   中英

Windows Phone 7.1雙向綁定似乎不起作用

[英]Windows Phone 7.1 Two Way Binding doesn't seem to work

首先,我很難問這個問題,但希望您能幫助我。 我有一個帶有進度條的Windows Phone 7.1一個應用程序。 我想綁定進度欄的TwoWay模式,但是我嘗試了很多,卻找不到任何解決方案。

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

在此數據透視頁中,我具有綁定到IsLoading屬性的ProgressBar。

XAML

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

當我將該屬性的值更改為true時,將不會發生任何事情。 進度欄將不會開始加載。

好吧,我沒有提到我將進度條嵌套在列表頁腳中。 那就是問題所在。 但是奇怪的是,綁定的數據上下文對我的longlistselector有效,但不適用於其中的listfooter。 我必須將datacontext單獨綁定到progressBar,如下所示:

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

這解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM