Это не лучшее решение, но если вы хотите, чтобы увидеть, где проблема, следующий код обновляет интерфейс:
var newContact = new Contact("Fred", true));
MyLogic.Current.Contacts.Add(newContact);
Contacts.Add(newContact);
Лучшее решение, когда MyLogic.Current.Contacts
изменения известите UI с помощью событий.
Edit:
Проблема заключается в том, что я могу только обновить список и не ObservableCollection (сам список находится в другом проекте) ...так мне нужен способ, чтобы обновить GUI, когда этот список обновляется
уведомлять UI, когда-либо изменения ваших данных вы можете использовать события следующим образом:
Сначала определим EventArgs
, который показывает недавно добавленные элементы, как это:
public class ModelAddedEventArgs<TModel> : EventArgs
{
public ModelAddedEventArgs(TModel newModel)
{
NewModel = newModel;
}
public TModel NewModel { get; set; }
}
Затем определяют EventHandler
в вашем MyLogic
Calss следующим образом:
public event EventHandler<ModelAddedEventArgs<Contact>> ContactAdded;
public void AddModel(Contact model)
{
// first add your contact then:
if (ActivityGroupAdded != null)
ActivityGroupAdded(this, new ModelAddedEventArgs<Contact>(model));
}
И, наконец, использовать ваш EventHandler
уведомить UI:
private void YourUIConstructor()
{
MyLogic += OnContactAdded;
}
private void OnContactAdded(object sender, ModelAddedEventArgs<Contact> e)
{
Contacts.Add(e.NewModel);
}
Пожалуйста см [ «Должны ли вопросы включают„метки“? В своих названиях»] (http://meta.stackexchange.com/questions/19190/should -questions-include-tags-in-their-titles), где консенсус «нет, они не должны»! –
В этом случае я предполагаю, что если вы исключаете «ObservableCollection» из заголовка, заголовок будет бессмысленным –