View Issue Details

IDProjectCategoryView StatusLast Update
0004025NoesisGUIStudiopublic2026-03-11 17:13
Reporterdstewart Assigned Todfranjic  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product VersionStudio_Beta 
Target VersionStudio_Beta 
Summary0004025: Rich Text Can Be Edited In The Text Field, Appears On-Stage But Doesn't Save
Description

Currently, if you have a TextBlock with a RichText Property, this text is also reflected in its "Text" Property.

In this situation, the text within the "Text" Property can actually be edited. Making an edit will make the change appear on-Stage, as well as showing the '*' (asterisk) in the file's Studio tab, showing that a change has been made. The Page can be saved at this point to 'clear' the asterisk.

However, upon closing and re-opening the file, the change made will have disappeared.
Encountering this bug whilst using Source Control, makes it clear that the Text Change is actually not being written to XAML.

This means, there are three issues here:
1) The first, is that content not actually being written to XAML is being detected as a file modification (asterisk).
2) The second, is that the text rendered on-Stage is a phantom.
3) The third, is that text is allowed to be edited, and appears edited both in the Properties, and on-Stage, is not actually being written tot he file.

See attached video.

Steps To Reproduce

Repro Steps:

1) Create a Project with a MainPage.xaml
2) Introduce a TextBlock to the Page
3) Clear the content of the TextBlock's 'Text' Property.
3) In the TextBlock's 'RichText' Property, type any sentence, then press [Enter] to confirm it.
Observe how only the "RichText" field is populated.

4) Save the Page, close and re-open it, and select the TextBlock again.
Observe how the 'Text' field mirrors the content in the RichText field.

5) Select the TextBlock's 'Text' field, and edit the text within it to whatever you want, pressing [Enter] to confirm it.
Observe how the text on-Stage reflects what was typed.
Observe how there is an asterisk in the Page's tab that indicates a change was made to the file.

6) Save the file, then close and re-open it.
Observe how the changes made, and seen in Step 5) are no longer present.

Expected Results:

Either:
a) [RECOMMENDED] The 'Text' and 'RichText' fields are always perfect mirrors of eachother. If any change is made to the RichText, is is immediately updated in the Text, and vice-versa. Meaning they will never get out-of-sync, and none of the issues above will be encountered.
b) The 'Text' Property and the 'RichText' Property are exclusive fields. Either by adding a dropdown/toggle, or by having a system in which the latest field edited wipes the other one, so that there is only content in "Text" or "RichText" one at a time.
c) The 'Text' Property simply doesn't mirror the 'RichText' Property, and we set an order of authority. So for example if a 'Text' Property has content, its given priority in rendering over the 'RichText' Property. The user would have to clear the 'Text' Property to see the RichText. This would however need to made clear to user, which may not be ideal in that it may require some sort of signal like an icon to show the 'master'.

Plus:

  • The currently-active tab should never show an asterisk if a change has not been actually made to the file.
  • The text on-Stage should never render content that actually isn't written to the XAML.
Attached Files
PlatformAny

Activities

dfranjic

dfranjic

2026-03-11 17:13

developer   ~0012022

Fixed with r16802 (it was due to Studio keeping both Text and Rich Text properties in XAML)

Issue History

Date Modified Username Field Change
2025-04-02 12:51 dstewart New Issue
2025-04-02 12:51 dstewart File Added: RichTextInput_Compressed.mp4
2025-04-02 12:56 dstewart Severity minor => major
2025-04-02 12:57 dstewart Description Updated
2025-04-02 13:03 dstewart Steps to Reproduce Updated
2025-04-02 13:03 dstewart Steps to Reproduce Updated
2025-04-02 13:38 sfernandez Assigned To => maherne
2025-04-02 13:38 sfernandez Status new => assigned
2025-04-02 13:38 sfernandez Target Version => Studio_Beta
2026-03-11 17:13 dfranjic Assigned To maherne => dfranjic
2026-03-11 17:13 dfranjic Status assigned => resolved
2026-03-11 17:13 dfranjic Resolution open => fixed
2026-03-11 17:13 dfranjic Note Added: 0012022