I am rather new to the concept of MVVM in C#/.NET WPF projects. The way I understand it, the view-model is supposed to lessen the amount of code-behind required to display data on a form. I try to do as much of the interaction logic as possible in the view-model, so any objects I will use get passed into the view-model via property injection. The view-model will then utilize those objects to do whatever the application is supposed to do.
The only logic I have in the view is to instantiate something based on a user selection and pass it immediately into the view-model. Additionally, I only really need to do that with a few things that don't make sense to bind (everything else uses data-binding).
What I am asking is... Is it generally okay to pass objects to the view-model? Or, does that create some kind of coupling or other problems I am not aware of?
The view-model will then utilize those objects to do whatever the application is supposed to do
-- If that means doing anything other than UI interaction logic, it probably is not kosher. Business logic belongs in the Model, not the ViewModel..