Hi there
I know I can easily bind *to* a grid's active item by setting a binding using the ActiveRecord.DataItem property. However, how can I do it the other way round? I don't see a converter as a solution: The converter does not have a context (the grid), and this context cannot be assigned through a binding property because that would lead to a circular reference (if I declare it first, the binding fails, if I declare it later, the grid does not see the converter):
<UserControl.Resources> <!-- this binding does not work - the grid has not been created yet --> <conv:ActiveGridRowConverter x:Key="rowConverter" Grid="{Binding ElementName=contactGrid, Mode=OneTime}" /></UserControl.Resources><igDP:XamDataGrid x:Name="contactGrid" DataSource="{Binding Path=ContactStore.Contacts}" ActiveRecord="{Binding Path=ActiveContact.Contact, Converter={StaticResource rowConverter}}" />
I'm not sure whether I'm just overlooking the obvious - what's the recommended solution here?
Thanks,
Philipp
Yes, the article I was looking for. Your article gives me another approach on the subject. I hope to read more articles from you.abcya
Hi Joe
Your assumption is correct (I wanted to go that way because I don't see a simpler solution to setting the active record). However, ActiveContact is part of my view model and therefore unaware of grids or any other UI controls. Is it possible that the grid exposes somewhat of a design flaw here? ActiveRecord is a pretty "WinFormish" strategy and - as it appears - a one way street when it comes to binding objects. IMO, an ActiveItem property was the way to go...
Any idea for a workaround? I honestly can't imagine thatI'm the first person to set the active item through a binding expression
Cheers
Philpp