在 C# 中使用对象的嵌套 SerializedDictonary 过滤对象 ListCollectionView

Filter object ListCollectionView using object's nested SerializedDictonary in C#

我想使用嵌套在对象中的 SerializableDictionary 过滤 ListCollectionView。 过滤器将检查指定(硬编码)键的值。

对象(只有伪代码,避免代码过多):

MasterRecord{
   MasterName string,
   AdditionalAttributes SerializableDictionary
   }

下面是我当前使用 MasterName(string) 的简单过滤器:

    public string Filter
    {
        get
        {
            return m_Filter;
        }
        set
        {
            if (value != m_Filter)
            {
                m_Filter = value;

                ListCollectionView masterRecords = (ListCollectionView)CollectionViewSource.GetDefaultView(MasterRecordCollection);
                if (!string.IsNullOrEmpty(m_Filter))
                {
                    masterRecords.Filter = (item) => { return (item as MasterRecord).MasterName.StartsWith(m_Filter) ? true : false; };

                }
                else
                    masterRecords.Filter = null;

                masterRecords.Refresh();
            }
        }
    }

样本:

如何修改我当前的方法并按值过滤(使用 .Filter() 和 .StartWith(),例如 'COCA-COLA')AdditionalAttributes(SerializableDictionary) when(这部分应该是硬编码的)Key == 'c_ProductName' ?

解决方案(感谢@jdweng):

masterRecords.Filter = (item) => { return (item as MasterRecord).AdditionalAttributes.Any(y => (y.Key == "c_ProductName") && (y.Value.StartsWith(m_Filter)));};