2015-07-07 3 views
0

Я новичок в XAML, и, может быть, мой вопрос немного глуп, но вот моя проблема.Использование связанного объекта C#/XAML

У меня есть ListView, и я поставили ItemSource к ObservableList внутри видовую класса

Вот как мой код выглядит следующим образом:

public class ListModelView 
{ 
    ObservableList<MyClass> _list = new ObservableList<MyClass>(); 
    public ObservableList<MyClass> MyList { get{return _list;} set{}} 

    public ListModelView() 
    { 
     _list = methodThatReturnsAListFromAWebService; 
    } 
} 

Каждая вещь работает просто отлично. Но как мне изменить (добавить, удалить) элементы с MyList. Чтобы получить его работу, я изменил свойства как static, и он работает. Но мне интересно, правильно ли это сделать. Спасибо.

+0

Вам нужно будет внедрить 'INotifyPropertyChanged' в ваш класс ListModelView, чтобы обновить XAML, когда список делает. – entropic

+0

он обновляется без этого, если для _list & MyList установлено значение static – Alex

ответ

3

Вы можете получить доступ к нему, давая вашей модели вида в XAML, как этот:

<viewModel:YourViewModel x:Name="ViewModelName"/> 

Теперь вы будете иметь доступ к нему в коде. Для дальнейшего чтения я бы порекомендовал Messenger из инструментария MVVM light, вы можете общаться между вашими видами моделей, используя этот класс

+0

Спустя почти год я узнал об этом: D, но каким-то образом, спасибо – Alex

0

Свойство MyList Set пусто.

public ObservableList<MyClass> MyList { get{return _list;} set{ _list=value;}} 

Теперь вы будете иметь возможность редактировать удалять и добавлять элементы в MyList

+0

, я могу добавить их без этого внутри моего класса. Но как я на улице? – Alex

+0

вам нужно создать объект класса, а затем вызвать свойство outsid. например: var ListModelViewObj = новый ListModelView(); , то ListModelViewObj.MyList позволит вам редактировать вне класса –

+0

спасибо, я попробую, и я напишу, если он сработает – Alex