public IEnumerable<string> GetMetadataValuesHarder(string metadataName, string parameter, bool checkParent = true)
{
if(string.IsNullOrEmpty(parameter) || ParentView == null || ParentView.ParentView == null || !ParentView.ParentView.HasChild(MemberName)) {
return GetMetadataValues(metadataName, this, checkParent);
}
var result = GetMetadataValues(metadataName, this, false);
if(!result.IsNullOrEmpty()) {
return result;
}
result = ParentView.ParentView.GetProperty(MemberName).GetMetadataValues(metadataName, this, false);
if(!result.IsNullOrEmpty()) {
return result;
}
return (checkParent ? ParentView.GetMetadataValues(metadataName, this) : Enumerable.Empty<string>());
}