View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004523 | NoesisGUI | Studio | public | 2025-11-12 16:56 | 2025-11-12 19:09 |
| Reporter | dstewart | Assigned To | sfernandez | ||
| Priority | normal | Severity | major | ||
| Status | assigned | Resolution | open | ||
| Product Version | Studio_Beta | ||||
| Target Version | Studio_Beta | ||||
| Summary | 0004523: Empty Path Bindings Can Corrupt The Source Element | ||||
| Description | Currently, there is an issue where if you bind a ContentControl to a ListBox, but save the Page with the 'Path' field empty, and then close and re-open the Page, setting a Path from the list, will cause the ListBox it's sourcing from, to get wiped. Repro Steps; 1) Create a Studio Project Containing a MainPage.xaml 2) Create a Data Structure named "MyDataStructure", that contains a Data Property of type "String". 3) Create a second Data Structure named "ViewModel", that contains a Data Type of 'MyDataStructure' created in Step 2), and served as a Collection. 4) Create a DataSet for the ViewModel, and apply it to the MainPage, and create a multitude of Items, which can have their values populated with the DataGeneration feature. 5) Select the RootGrid, and create 2 Columns of 1* each. 6) Introduce a ListBox to the right column, name it 'MyListBox', and set its ItemsSource to the ViewModel's Property created in Step 3). 7) Whilst on the ListBox, change its Selected Index from '-1' to ' 0'. 8) Right-Click on the ListBox, and create a ListBoxItem Template, saved to GlobalResources. 9) Bind the TextBlock present in the Template to the 'String' Property. 10) Exit the Template Dummy Editor by clicking on the Home icon in the breadcrumb in the upper-left of the Stage. 11) Navigate to the Resources Panel, and find the Resource for the ListBoxItem Template, select it, and in its Properties, clear its 'DataType' field. 12) Introduce a ContentControl to the Left Column of the Page and select it to reveal its Properties. 13) Hover over its 'Content' field, and from its 3-dot menu, select 'Create Binding'. 14) In the Binding selection panel, select the 'Name' tab, and ensure the Element Name Property is the name of the ListBox. 15) Where the 'Path' currently says 'Not Set', delete this 'Not Set' text, to leave the field blank. 16) Save all open files, and close all open documents in the Project. 17) Re-open MainPage.xaml, select the ContentControl, and open its 'Content' Binding once again. 18) This time click on the icon to the right of the 'Path' Property field, and from the list, select 'SelectedItem'. Observe how when in the ContentControl, and binding to the ListBox's Selected Index, the ListBox content's on the right of the Page are wiped. 19) Save all open documents, and restart the application. Observe how ListBox contents have now re-appeared. Expected Results: Binding to another Element, does not wipe the other Element. | ||||
| Platform | Any | ||||