### Method

# GObject Object bind_property_with_closures

since: 2.26

#### Declaration

    GBinding*
    g_object_bind_property_with_closures (
      GObject* source,
      const gchar* source_property,
      GObject* target,
      const gchar* target_property,
      GBindingFlags flags,
      GClosure* transform_to,
      GClosure* transform_from
    )

#### Description

Creates a binding between `source_property` on `source` and `target_property` on `target`, allowing you to set the transformation functions to be used by the binding.

This function is the language bindings friendly version of g_object_bind_property_full(), using `GClosures` instead of function pointers.

Available since: 2.26

This method is renamed to `g_object_bind_property_full()` in language bindings

#### Parameters

`source_property`

  Type: `const gchar*`

  The property on `source` to bind.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`target`

  Type: `GObject`

  The target `GObject`.

  The data is owned by the caller of the method.

`target_property`

  Type: `const gchar*`

  The property on `target` to bind.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`flags`

  Type: `GBindingFlags`

  Flags to pass to `GBinding`.

`transform_to`

  Type: `GClosure`

  A `GClosure` wrapping the transformation function from the `source` to the `target`, or `NULL` to use the default.

  The data is owned by the caller of the method.

`transform_from`

  Type: `GClosure`

  A `GClosure` wrapping the transformation function from the `target` to the `source`, or `NULL` to use the default.

  The data is owned by the caller of the method.

#### Return value

Type: `GBinding`

The `GBinding` instance representing the binding between the two `GObject` instances. The binding is released whenever the `GBinding` reference count reaches zero.

The data is owned by the instance.