/// <summary>
 /// Get a property's attribute metadata.
 /// </summary>
 /// <param name="prop">Property.</param>
 /// <param name="vm">View model of the property.</param>
 /// <returns>Attribute values as key-value dictionary.</returns>
 private static AttributeDictionary GetAttributes(this IReactiveProperty prop, IReactiveProperties vm)
 {
     return(vm.RuntimeProperties.FirstOrDefault(x => x.Name == prop.ToAttributeName())?.Value as AttributeDictionary ?? null);
 }