|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
Вопрос может глупый, но тем не менее... Есть view. На нем, скажем, список стран и список городов. Нужно обеспечить пользовательскую логику: выделил страну в списке стран - список городов обновился, вывелись только города для этих стран. Просто статику в ViewModel я сделал через свойства: Код: plaintext 1.
Код: plaintext 1.
А как это правильно сделать в MVVM? Т.е. что дальше делать-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2011, 18:23 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
INotifyPropertyChanged is an important interface in Silverlight used by the data binding engine to notify controls and other objects when a bound property value changes. By implementing INotifyPropertyChanged on the ViewModelBase class you can write the code once and re-use it across multiple ViewModel classes. The interface is located in the System.ComponentModel namespace ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2011, 19:37 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
Задаешь дополнительное свойство для выбранной страны и setter'e меняешь города public Country SelectedCountry { get { return _SelectedCountry; } set { if (_SelectedCountry != null) { Cities = _SelectedCountry.Cities; } } ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2011, 18:18 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
В модели MVVM ловить события во View считается дурным тоном...т.е нельзя писать всякие Button_Click. Нужно использовать интерфейс ICommand и bind эти команды из View к ViewModel. И во ViewModel уже фильтровать данные,которые через Binding будут обновлять контролы во View. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2011, 20:10 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
pshikВ модели MVVM ловить события во View считается дурным тоном...т.е нельзя писать всякие Button_Click. Нужно использовать интерфейс ICommand и bind эти команды из View к ViewModel. И во ViewModel уже фильтровать данные,которые через Binding будут обновлять контролы во View. Где и какую команду ты собираешься прикручивать в этом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2011, 00:21 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
pshik, если речь идет о DataGrid то у него есть SelectedItem вот и вяжите его к CurrentCountry как посоветовал Seva. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2011, 01:44 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
SeVapshikВ модели MVVM ловить события во View считается дурным тоном...т.е нельзя писать всякие Button_Click. Нужно использовать интерфейс ICommand и bind эти команды из View к ViewModel. И во ViewModel уже фильтровать данные,которые через Binding будут обновлять контролы во View. Где и какую команду ты собираешься прикручивать в этом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2011, 19:30 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
Картинки замечательные(дай ссылку на оригинал), но к командам и теме топика они не имеют отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2011, 07:39 |
|
mvvm и динамическая связь между элеметами управления
|
|||
---|---|---|---|
#18+
SeVaКартинки замечательные(дай ссылку на оригинал), но к командам и теме топика они не имеют отношения. Да там и ответ на вопрос, что нет во View методов и прочего, а только Binding. Так же и параметры передаются во ViewModel, через Binding. Ни View, ни ViewModel о друг друге ничего не знают....всё просто и удобно для тестирования. А так конечно, чудес не бывает. Примеры не хочется тут писать, их легко найти в интернете. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2011, 17:37 |
|
|
start [/forum/topic.php?fid=21&fpage=48&tid=1442120]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 114ms |
0 / 0 |