@Younus

Как свойству ObservableCollection указать, что элемент был изменен?

Здравствуйте,
имеется объект Page, c кодом
public ObservableCollection<VPost> Sourse {
    get {
        return MyData.Sourse;
    }
}


MyData содержит следующий код
private static ObservableCollection<VPost> myDataGet = new ObservableCollection<VPost>();
private static ObservableCollection<VPost> myDataPhrase = new ObservableCollection<VPost>();
private static ObservableCollection<VPost> myDataGetDb = new ObservableCollection<VPost>();
private string getDataType;

public ObservableCollection<VPost> Sourse {
    get {
        if (getDataType == "getGet") return myDataGet;
        else if (getDataType == "getPhrase") return myDataPhrase;
        else return myDataGetDb;
    }
    set {
        if (getDataType == "getGet" && value != myDataGet)
            myDataGet = value;
        else if (getDataType == "getPhrase" && value != myDataPhrase)
            myDataPhrase = value;
        else if (value != myDataPhrase)
            myDataGetDb = value;
        OnPropertyChanged("Sourse");
    }
}

public event PropertyChangedEventHandler PropertyChanged;

protected virtual void OnPropertyChanged(string propertyName) {
    var handler = PropertyChanged;
    if (handler != null)
        handler(this, new PropertyChangedEventArgs(propertyName));
}


Биндинг по принципу DataContext = this; // Page
ну и далее указываю на Page.Sourse

При добавлении элементов в MyData.Sourse ничего не меняется, нашел код на подобие, то есть вообще ничего не отображается, хотя знаю, что MyData.Sourse обновился. Как решить данную проблему? заранее спасибо.

P.S. чтобы не плодить тему, в WP8.1 частенько вижу при запуске, тех или иных приложении слева сверху, где значок WiFi , Сети и т.д., как бы шарики перебигают и надпись "Загрузка", как такое сделать? куда копать, я даже не знаю как это правильнее назвать, дабы нагуглить.

__________________________________________________________________________________________

Решил проблему по другому используя рефлекшион. всем спасибо!
P.S. по поводу "шарики перебигают и надпись "Загрузка"" таки никто не знает как это сделать?
  • Вопрос задан
  • 649 просмотров
Пригласить эксперта
Ответы на вопрос 1
hePPer
@hePPer
При добавлении элементов в MyData.Sourse ничего не меняется, нашел код на подобие, то есть вообще ничего не отображается, хотя знаю, что MyData.Sourse обновился.


у вас источником данных выступают 3 ObservableCollection - скорее всего при первичном байндинге связь происходит только с одним из списков.

возможно вледует вместо прямой связки использовать что-то вроде ListCollectionView и при изменениях в коллекции/нужной коллекции вручную обновлять ListCollectionView
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы