OK, here is the scenario. Take a selector (any type of list item that you can select values) and bind it to an observable collection. Let's say that collection is populated from a service call. The issue is that you bind, the collection is empty, so there is no selected index. You cannot plug into the Loaded event on the box because if you try to set selectedindex = 0, and the collection hasn't loaded yet, you're out of luck. In the code behind I can wire into the collectionchanged and then set selectedindex = 0 but that seems a little contrived. I have a full solution using attached properties but it seems overly complicated for the behavior (I want to always default to the first item in a collection when the collection becomes available). Anyone have a similiar scenario and thoughts about a solution? One thing I looked at was having the view model raise a "collection loaded" event, but then again the view will have to hook into that in the code behind. My attached properties solution basically creates a list of weak references between the selectors and the collections, then hooks into the collection changed event. When it fires, it finds the selector it is linked to and then sets the selected index. It works like a charm but I want to make sure I'm not overcomplicating it when there may be some setting that says, "Default to the first item" when a collection gets filled. Thanks, Jeremy
Jeremy Likness Latest Article: Silverlight Behaviors and Triggers: TextBox Magic Blog: C#er : IMage