This question is locked. New answers and comments are not allowed.
Perhaps this is "as intended" but I found it very confusing until I figured it out.
A couple of columns in my grid are DataMemberBinding="{Binding SomeObject}" where SomeObject has a .ToString() that happens to be a useful value in a display only sense - so at first glance it seems right. The cell happens to have an edit template. So, on that column if you click the filter funnel it shows your filter stuff, but if I type in a value to filter on, when I leave that textbox it resets to empty and I can't filter except on distinct. It also does not have the "match case" button next to the textbox.
If I change the binding to {Binding SomeObject.SomeStringProperty} then the filter performs as expected.
So, if this is "as intended" perhaps you could simply not show the fields since you can't use them anyway - as it is now. Or make it work as it does when bound to a string.
A couple of columns in my grid are DataMemberBinding="{Binding SomeObject}" where SomeObject has a .ToString() that happens to be a useful value in a display only sense - so at first glance it seems right. The cell happens to have an edit template. So, on that column if you click the filter funnel it shows your filter stuff, but if I type in a value to filter on, when I leave that textbox it resets to empty and I can't filter except on distinct. It also does not have the "match case" button next to the textbox.
If I change the binding to {Binding SomeObject.SomeStringProperty} then the filter performs as expected.
So, if this is "as intended" perhaps you could simply not show the fields since you can't use them anyway - as it is now. Or make it work as it does when bound to a string.