private static AttachedProperty <T> RegisterAttached <T>(Expression <Func <AttachedProperty <T> > > nameExpression, T defaultValue = default(T)) => AttachedProperty.Register <Dock, T>(nameExpression, defaultValue);
private static AttachedProperty <T> RegisterAttached <T>([NotNull] Expression <Func <AttachedProperty <T> > > nameExpression, T defaultValue = default) => AttachedProperty.Register <Canvas, T>(nameExpression, defaultValue);