In my SilverLight application, I have a property in my ViewModel called 'vmProperty' and a list called 'dgSource'.
I bind my dgSource to the datagrid as ItemsSource at which point each datagrid row's datacontext changes to each item in dgSource. One of the columns, say a checkbox column, needs to bind to vmProperty. But since the ViewModel is no longer the row's datacontext, I cannot get access to this property.
How do I get around this problem? If the question is not clear, please let me know and I will post a sample. Thanks in advance.
Best Answer
Assuming your ViewModel is assigned as the LayoutRoot's DataContext this should work:-Of course this doesn't work, ultimately a template is replicated and therefore "LayoutRoot" does not exist in the namescope where the binding is actually used.
The simplest solution since this is a ViewModel is to change the model. Expose the required value on the objects available in the dgSource or expose a
Parent
property that navigates back to the ViewModel.