> For the complete documentation index, see [llms.txt](https://functionzero.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://functionzero.gitbook.io/docs/libraries/maui.bindzero/z-function.md).

# z:Function

`z:Function` is similar to, and has the same syntax as `z:Bind` It is different because it does not self-evaluate and instead relies on its consumer to ask it to evaluate `z:Function` can be consumed by `TapTrigger`, `EdgeTrigger` and `Latch`

**Usage**

```
TargetProperty = "{ z:Function <some expression>   [, Source=<some source>] }"
```

Where *\<some expression>* is any valid expression, making use of properties on the *BindingSource* Typically you would put either an assignment into a z:Function

```
TapAction="{z:Function 'Things.TapCount = Things.TapCount + 1'}"
```

or a function call

```
TapAction="{z:Function 'OpenUrl(Customer.LoginUrl, Customer.UserName)'}"
```

or both ...

{% code overflow="wrap" %}

```markup
TapAction="{z:Function 'Things.TapCount = Things.TapCount + 1, OpenUrl(Customer.LoginUrl)'}"
```

{% endcode %}
