Hi

my view model has a dependency property ActiveWellLocation which is an ADO.Net Entity framework object, wellLocation, which is associated with wellSample which has an associated list wellAliquot, so:

ActiveWellLocation.wellSample.wellAliquot - is a collection and I can successfully bind to my datagrid

<dgataGrid x:Name="additivesDataGrid" HorizontalAlignment="Center" Margin="2" Width="302" Height="150"
AutoGenerateColumns="False"

ItemsSource="{Binding ActiveWellLocation.wellSample.wellAliquot}"
....
</dgataGrid>

I need to filter my wellAliquot collection and thus investigated indirecting thru a static resource. The following snippets of the CollectionViewSource and associated binding on the datagrid also bind ok:


<CollectionViewSource Source="{Binding ActiveWellLocation.wellSample.wellAliquot}" x:Key="WellAliquotsWithAdditives" />

with

<dgataGrid x:Name="additivesDataGrid" HorizontalAlignment="Center" Margin="2" Width="302" Height="150"
AutoGenerateColumns="False"

ItemsSource="{Binding Source={StaticResource WellAliquotsWithAdditives}}"
....
</dgataGrid

I was intending to filter the CollectionViewSource (of type BindingListCollectionView) as my dp ActiveWellLocation updates. In short my view model fires an event to which the user control listens. In the event handler I have tried a couple of different ways to get hold of the resource but they fail, one example was

public void PropertyChangedListener(object sender, PropertyChangedEventArgs e)
{
string name = e.PropertyName;
switch (name)
{
case Avacta.Optim.Client.Models.PlateSampleViewModel.PLATE:
//object src = FindResource("WellAliquotsWithAdditives");
object srcWellAliquotsWithAdditives = this.Resources["WellAliquotsWithAdditives"];
//ICollectionView iblcv = CollectionViewSource.GetDefaultView(srcWellAliquotsWithAdditives);
BindingListCollectionView blcv = (BindingListCollectionView)CollectionViewSource.GetDefaultView(srcWellAliquotsWithAdditives);
blcv.CustomFilter = "additive <> null";
break;
default:
break;
}
}

To date I have been unable to get the resource and therefore the view. (also I expect the filter 'code' is not suitable, any clues to the correct filter appreciated)

Any ideas as to the 'correct' approach?

Cheers

AndyF.