View Issue Details

IDProjectCategoryView StatusLast Update
0004189NoesisGUIStudiopublic2025-10-28 14:18
Reporterdstewart Assigned Tosfernandez  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product VersionStudio_Beta 
Target VersionStudio_BetaFixed in VersionStudio_Beta 
Summary0004189: MultiBindings Don't Reflect the Data Values They Are Bound To
Description

Currently, MultiBindings are:
1) Having Difficulty Reflecting a Single Data Value accurately.
2) Not able to process MathConverter Operations


Repro Steps:

1) Create a Page with a MainPage.xaml.
2) Create a DataStructure named 'MyDataStructure', containing two 'Number' Single Properties 'MyFirstProperty' and 'MySecondProperty'.
3) Create a DataSet for the DataStructure named 'MyDataSet', and fill in a value of '20' for MyFirstProperty, and '10' for MySecondProperty.
4) Apply the MyDataSet DataSet to the root of MainPage.xaml

5) Introduce a TextBlock to MainPage.xaml, and in its 'Text' Property, click on the 3-Dot menu and select 'Create MulitBinding'.

6) Click the '+' (Add icon) at the top right of the MultiBinding Window, and set its Path Property to 'MyFirstProperty'.

Observe how the TextBlock on Stage is not reflecting the MyFirstProperty Value of '20'.
Expected Results: With a StringFormat of {0} and bound to a Data Value, the TextBlock's Text Property directly and instantly reflects the Value.

7) Clear the LocalValue for the MultiBinding's 'StringFormat' field, then set 'MathConverter' as the 'Converter' Property.

Observe how the TextBlock on Stage is not reflecting the MyFirstProperty Value of '20'.
Expected Results: With a MathConverter format of {0} and bound to a Data Value, the TextBlock's Text Property directly and instantly reflects the Value.

8) Add a second Binding to the MultiBinding, by clicking the '+' (Add icon) at the top right of the MultiBinding Window, and set its Path Property to 'MySecondProperty'.

9) In the MathConverter's 'Expression' field (accessible via the MathConverter Expander), set a value of {0}-{1}.

Observe how the TextBlock on Stage is not reflecting the MyFirstProperty Value of '10' [MyFirstProperty (20) - MySecondProperty (10) = 10]
Expected Results: A MathConverter displays the result of the mathematical operation between its two Bindings.

10) Remove the 'MySecondProperty' Binding from the MultiBinding, leaving a MultiBinding with a single MyFirstProperty Binding.

11) Clear the MathConverter Property, and instead, insert '{0}' (no quotes) into the 'StringFormat' Property.

Observe how unlike like in Step 6), the value for "MyFirstProperty" actually appears this time.

12) Change the Path Property of the Binding from working 'MyFirstProperty' to 'MySecondProperty'.

Observe how the value in the Text Property, and on-Stage is not updating from 20 (MyFirstProperty) to 10 (MySecondProperty).
Expected Results: The output displayed both in the Properties, and on-Stage correctly reflects the Binding associated with it.

Attached Files
MultiBinding.jpg (435,691 bytes)
PlatformAny

Activities

sfernandez

sfernandez

2025-10-28 12:24

manager   ~0011252

MathConverter, when used in a MultiBinding, can only be target float properties, not text ones because there is no automatic conversion to target property type in MultiBindings.

We can improve the MathConverter to check the target type and do a manual conversion in that case.

dstewart

dstewart

2025-10-28 12:49

developer   ~0011255

+1 from me for this approach!

Issue History

Date Modified Username Field Change
2025-05-26 17:34 dstewart New Issue
2025-05-26 17:34 dstewart File Added: MultiBinding.jpg
2025-05-26 17:46 jsantos Assigned To => sfernandez
2025-05-26 17:46 jsantos Status new => assigned
2025-05-26 17:46 jsantos Target Version => Studio_Beta
2025-10-28 12:24 sfernandez Status assigned => feedback
2025-10-28 12:24 sfernandez Note Added: 0011252
2025-10-28 12:49 dstewart Note Added: 0011255
2025-10-28 12:49 dstewart Status feedback => assigned
2025-10-28 14:18 sfernandez Status assigned => resolved
2025-10-28 14:18 sfernandez Resolution open => fixed
2025-10-28 14:18 sfernandez Fixed in Version => Studio_Beta