The controls in NSP Creation Wizards sometimes come up completely blank when changing to that page

Issue #46 resolved
Dark Akuma created an issue

Topic Formerly named “ZebraEngine: Advance setting for config is broken”. But as the scope of this issue is beyond that…

This is most prevalent with the Advanced Settings page in the ZebraEngine wizard, but can happen on any page.

The issue presents like this.

The top 2 settings should have text/selected values.

To reproduce the issue, Click Cancel, then Next 2 times to load the page. It will not always bug out and not list info. Just have to repeat until it does.

The little I know about the issue is, its has to do with property Binding with UserControls.

Using the same exact binding string with a standard TextBox at Page level, will work fine. But ANY control inside the user control? the binding will sometimes fail with a message like the following, and lead to a empty value.

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='ZebraEngine.ZebraEngine_Page3', AncestorLevel='1''. BindingExpression:Path=SetupInfo.ANY_VALUE; DataItem=null; target element is 'Settings_TextBox_Control' (Name=''); target property is 'InputText' (type 'String')

Comments (12)

  1. Dark Akuma reporter

    I am going to assume this is a issue I just notice.

    Sometimes, but not all the time, when you go to the INI config (Advanced Settings) page… everything is blank. Often, just restarting the program can fix it.

    My best guess is that at the end of the previous page, “SetupInfo.Info.Config_INI = new Saturn_Config_Ini();” is done which initialized the variable with default values… but the next page tries to display them too fast. And it ends up finding null values before they are set.

  2. Dark Akuma reporter

    Fixed… If that is indeed what the troll meant.

    This is a issue with the Wizard code in general, but only came up with ZE support as it was the only case of setting a bound variable in the NextPage_Clicked() event.

    Fixed just by having the default ini info set ahead of time.

  3. Dark Akuma reporter

    This is a image of the issue. Notice the lack of values in the first 2 controls? All the tabs are like this. This should not happen, as there should be default values and checks.

    The fact that I am posting this pic is disappointing because… somehow, despite the fix… the issue has come back…

  4. Dark Akuma reporter

    This issue is not just with ZebraEngine advanced settings, as I thought. I saw it happen on the “Select input files and meta data page” too.

    It happens when lag hits. But I am really not sure why. I get errors like…

    System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='ZebraEngine.ZebraEngine_Page3', AncestorLevel='1''. BindingExpression:Path=SetupInfo.Info.Config_INI.Areacode; DataItem=null; target element is 'Settings_TextBox_Control' (Name=''); target property is 'InputText' (type 'String')
    

    Meaning, the value its trying to bind to is null… But in no way should they be null…

    Ok. Part of it is the custom controls themselves, like Settings_TextBox_Control.

    If I bind to the same property from a normal text box in that wizard page,, when the rest are null, the normal text box is fine.

  5. Dark Akuma reporter

    I appreciate the effort Tokyo. But you didn’t need to take pics of all of those tabs. And since its making the page a chore to scroll through, Im deleting the message.

    Further, as my previous post alluded to, this is an active issue. You don’t need to test it right now, as I know its broken and can reproduce it. Any effort by users/testers right now should be going to helping resolve the backlog of other unreported on issue fix results.

    But FYI, this issue is annoying. Just because you see the values once, does not mean they wont be blank another time. As mention, its something like lag that makes them not show. During my testing, I have to hit Cancel and Next 2 twice… multiple times just to get the bug to trigger. But it eventually does.

    As of now, I am still not sure what the issue is. But I am actively trying to figure it out as it would effect ALL of the wizards.

    I dont know where this issue is. It’s something to do with the wrapping of the ZebraEngineSetupInfo SetupInfo each page. If I use a property on that page, it will display in the controls fine. But if I use any property under the SetupInfo object, it will end up blank at some point.

  6. Dark Akuma reporter

    Fixed.

    I spent a day trying to figure this out. I think its a WPF bug. So in the end, I had to use a workaround.

    This fix has only been applied to Sloop, Hiyoko, Hovercraft and ZebraEngine. But ZebraEngine is the main one.

    Feedback needed to resolve issue:

    • Do you see text boxes, dropdown boxes and check boxes come up blank in the ZebraEngine wizard, like in the pic in the OP? Most notably, with the Advanced Settings page.

    How to reproduce:

    • Navigate to the page. If there are default values listed for the settings, click Cancel (Important! Simply going back will not force the UI to retry the page), then click Next until you reach the page. Repeat a dozen or more times until you are reasonably certain the bug will not happen.

    EDIT:

    I now realize this is easier for me that users who have to select values. For me, I have debug code that auto fills fields to facilitate rapid testing. Im sorry. Just please do what you can.

  7. snucker

    Seems fine, came to this page, hit cancel and then proceeded back to this page and the default settings are there.

  8. Dark Akuma reporter

    As said, it does not happen every time. It takes repetition to trigger for testing. I’m trying to make sure it happens 0% of the time, instead of like 5-20% of the time.

  9. Tokyo Panda

    Seems to work as intended. After each test I clicked Cancel as instructed and ran through the pages till I got to the following.

    Test 1: (Good)

    Test 2: (Good)

    Test 3: (Good)

    Test 4: (Good)

    Test 5: (Good)

  10. Log in to comment