开发者

Using commands to be notified that a collection has changed

I was wondering if there's any way i could handle when a collection changes and, after that, display a message to the user.

As im using MVVM, i dont have any references to the model inside the view project, so i couldn't do

MyCollection col = InstanceOfViewModel.Read();

Since View doesn't know anything about "MyCollection", and i dont want to test the method itself inside a if, like the code above:

if(InstanceOfViewModel.Read().Count == 0)

So i thought about Commands. I'm already using one to开发者_开发问答 handle my saving & updating conditions (instead of tons of if's). But now im trapped. I cant figure out what should i do/use cause, ObservableCollections exposes one event, CollectionChanged.

One solution could be: make the viewmodel subscribe to this event, and when it happens, check if the count is equals 0, if true, show to user: "Your search didnt retrieved any rows" or anything else. But i dont like to use MESSAGEBOXES in a viewmodel, messages and any kind of User Interactivity im trying to delegate to the View(s)

But i would like to know if i CAN do it using COMMANDS, or if im getting too complicated in a thing that is relatively easy to implement.

Waiting for answers and thanks in advance!


if your collection is in a viewmodel and you are using the onPropertyChanged...anytime your entire collection changes(not the individual items) it would fire onPropertychanged which you could watch for in your onPropertyChanged method...Maybe I am not understandig your code structure...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜