# Indirect Property Binding

**URL:** <https://forum.inductiveautomation.com/t/indirect-property-binding/113126>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [January 7, 2026, 3:40pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126 "2026-01-07T15:40:06Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [January 7, 2026, 3:40pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/1 "2026-01-07T15:40:06Z")

</div>

How do I create an indirect property binding? For instance, I have properties `value1`, `value2`, and `selectedValue`. I want to essentially “select” `value1` or `value2` to display using an indirect property binding with `selectedValue`.

I see the `property()` expression function but sadly it’s Perspective only. In Perspective it would be:

```python
property("Root Container.value"+toStr({selectedValue}))

```

I’ve over-simplified this but the solution would be the same

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 7, 2026, 3:54pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/2 "2026-01-07T15:54:47Z")

</div>

Use either the `case()` or `switch()` expression functions. If only two choices, consider just using `if()`.

Vision doesn't expose generic runtime property creation so your choices should all be present. (Runtime prop creation is **possible** , but not easy or supported. Except for Classic Chart datasets.)

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [January 7, 2026, 3:55pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/3 "2026-01-07T15:55:13Z")

</div>

Really not sure exactly what you are looking to do but the case statement should work for you.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/7/176394b26df0748aea95faac886720f36aff5763.png)

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [January 7, 2026, 4:06pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/4 "2026-01-07T16:06:47Z")

</div>

@MMaynard

Yes, switch/case would work. I do actually have 10 options, so I was hoping for a simpler solution than the large switch/case. Guess not

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [January 7, 2026, 4:16pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/5 "2026-01-07T16:16:08Z")

</div>

If you can give us a bit more context we could come up with more elegant solutions.

Is this perspective or vision?

How are you choosing which value to use?

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [January 7, 2026, 4:23pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/6 "2026-01-07T16:23:13Z")

</div>

Vision. The `selectedValue` is bound to a tag. There are 10 different value properties (`value1` … `value10`)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 7, 2026, 4:32pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/7 "2026-01-07T16:32:24Z")

</div>

I'm adding `property()` for Vision to my Integration Toolkit to-do list.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [January 7, 2026, 4:47pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/8 "2026-01-07T16:47:37Z")

</div>

Are the values closely related? Could you instead have a single dataset property and then use the `lookup()` expression?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [January 7, 2026, 4:52pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/9 "2026-01-07T16:52:18Z")

</div>

If your referencing entire tab strip datasets, put them in vision client tags.

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [January 7, 2026, 5:48pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/10 "2026-01-07T17:48:39Z")

</div>

If you can get the tags all in the same folder you could then just use standard indirection on the control based off of the value of the selectedItemTag.

Create a custom property bound to the value of the SelectedItemTag and then reference it in the indirect binding.

IE.

SelectedItemTag = ‘Value1’

Bound indirect on the control

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/9/49537258993d7d56d53fe641fcafb310dc5b1c3e.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 7, 2026, 6:26pm UTC](https://forum.inductiveautomation.com/t/indirect-property-binding/113126/11 "2026-01-07T18:26:23Z")

</div>

> [@MMaynard](#):
>
> get the tags all in the same folder

Not talking about tag bindings here.
