To solve this, in the class I use for the items, I created an extra property named "Search" of type string. Then in XAML: TextSearch.TextPath="Search"
The "Search" field is calculated somewhat like this; FirstField + "|" + SecondField.ToString() + ...
I have used "|" as separator here, but try with a separator that isn't expected in the text, e.g. a control character, e.g. tab, if it works.
You can pretty much do anything when calculating the search string, e.g. translate colors to their names, in order to be able to search stuff that otherwise isn't searchable, or otherwise too hard to search for.