Ok, I under that I must not use both Selectors and selector properties.
I am dynamically updating my custom DayTemplateSelector's Collection from the RadCalendar control itself with days that contain an event.
I've followed the First Look example in the Demo solution.
Here is my XAML code.
<CollectionViewSource x:Key="AvailabilityView" x:Name="AvailabilityList" Filter="AvailabilityList_Filter" Source="{Binding collectionAvailabilityRecords}" />
<Tyler:AvailabilityCollection x:Key="AvailabilityCollection">
</Tyler:AvailabilityCollection>
<Tyler:AvailabilityDayTemplateSelector x:Key="AvailablityDayTemplateSelector" x:Name="AvailDayTempSel" AvailabilityCollection="{StaticResource AvailabilityCollection}">
Since these DayTemplateSelectors can only be bound to StaticResources, I've created an empty collection to assign to the DayTemplateSelector.
Then in my calling UserControl code behind, I'm accessing the DayTemplate collection directly on the RadCalendar control and adding dates to that collection from my WCF service results.
Whenever a user makes a change to affect the records being used in the DayTemplate Selector class, the WCF service is called again. In its AsyncCallback, it populates the DataConext.collectionAvailabilityRecords and then calls the radCalendar1_refreshEventDays() function above.
Perhaps I'm not doing things correctly, but it works when the calendar is initially populated and displayed. So, how does this new update to the RadControl help in updating the display when the backing collection of the DayTemplateSelector changes?