I am having problems with visibility and the phone regions. I have a form with 4 regions R1 thru R4. Each region has a header with R2 thru R4 having left back button to take you to the prior screen. All the regions are set to RenderInvisibleControls and are set to Visible = false except R1 to start.
R2 has a phone list and is connected to R3 with a page flip control (which is also set Visible=false to start).
R4 has phone List.
R1 has a button to build the list on R2 take you to R2.
It does this by making R1 Visible = false and the Flip Visible=true and R2 and R3 visible=true.
The button event had to be on the OnButtonClick because the list didn't show if it was OnAsyncButtonClick (I don't know why)
The header on R2 has an OnAsyncLeftButton that make R2 thru R4 visible=false and R1 visible=true.
The phone list on R2 has an OnAsyncItemClick that does a Flip.SlideToBack.
R3 has a button to build the list on R4 and to make R4 visible=true (and make flip R2 and R3 visible=false)
The header on R3 has an OnAsyncLeftButton that does a Flip.SlideToFront.
R3 has a button to build the phone list on R4 and to make it visible=true and R2, R3 and the flip visible=false It is sent on the OnButtonClick rather than the OnAsyncButtonClick because the list was not showing up.
The header on R4 has an OnAyncLeftButton that make R2, R3 and the flip visible=true and R4 Visible=false
When I click the back button on R4 it takes me to R2 instead of R3 even if I put in a Slide to Back in the event. Should I be using the Async events for the button clicks? Why is the list not showing filled in when I use the OnAsyncButtonClick. to go to the region. I have tried to do List.Invalidate, List.Refresh, etc. after building the list. Nothing seems to show the list filled in except putting it in the OnButtonClick.
Sorry about the long setup. If you need, I can send a copy of the app.
Actually, in the above when I click the back on R4 it shows nothing. No region at all. Just blank. If I change the header on R4 to be OnLeftButtonClick then it show R2 instead of R3. I have tried so many combination, I'm getting confused. I tried to assign Flip.ActiveRegion to R3, but that gives me a syntax error
- Please make sure to also set RenderInvisibleControls to true on the Form of your application and not only on the IWiPhoneRegion controls.
- You can only assign Regions to the BackRegion and FrontRegion properties. The ActiveRegion property can be set to arBack or arFront to decide which region is displayed.
- If the problem persists, please provide a ready to use sample project that demonstrates the issue.
The message below was originally sent as a reply to your email on 25th of May and re-sent on 7th of June:
1.
a.There
was an issue with setting the IWiPhonePageFlip.ActiveRegion property to arBack.
This has now been fixed.
The update will be available with the next release of the TMS IW iPhone
controls pack.
With this update your test app should work correctly if:
- ActiveRegion is set to arBack when pressing the back button on R4
- ActiveRegion is set to arFront when pressing the Goto R2 button
b.Unfortunately
it’s currently not supported to change the IWiPhonePageFlip Visible property
from an async event.
I will investigate if this behavior can be improved in a future version of the
control.
2.The
IWiPhoneList control is not automatically updated after an async event for
performance reasons.
You can use the different Async* methods to update the IWiPhoneList
asynchronously.
Please note that it’s required that the IWiPhoneList control already contains
at least 1 item to be able to insert more items via an async event.