I have a tile panel control with 5 panels, 4 of the 5 just have a simple text box.
If I load the tile panel layout from XMl the "TextChanged' event of the text boxes will not fire.
Any ideas?
Matt
Hello Matt,
Were you able to test your application with the latest service release? Please let me know if you need any additional help.
Hi Matt,
I just wanted to let you know that we have looked into this issue and it looks like it's a bug in the inbox TextBox control.
I have reported the bug to Microsoft here in case you want to check out the details:
TextChanged event of a TextBox ceases to fire if you remove the TextBox from it's container and then dispose that container. | Microsoft Connect
We will have a fix (workaround, really) in the TilePanel in the next service release.
In the mean time, you can work around the issue by forcing the TextBox to recreate it's handle. There are a number of properties on the TextBox that cause this to happen. Multiline is one. So if you simply set Multiline to true and then back to false after you the Load operation, it will start working again.
Another possible workaround would be to put the TextBox inside a Panel or some other container control instead of directly inside the UltraTile.
I created the following case for you: 'CAS-77247-CNC66H'.
Please do not hesitate to ask if something comes up.
Sorry.. what I meant was that if I load the layout of the tile panel from XML then after everything is loaded the "Text Changed" event will not fire when the user types in the tetbox that is on any of the tiles.
The problem doesn't exist if I don't load the layout from XML.
I believe that this is expected. When you are loading the layout from XML, the textbox is laying out its contents as it is doing when you are running your application for the first time for example, so the 'TextChanged' event is not firing then also. It will be helpful if you could clear out what you are trying to achieve here and then I will be happy to assist you further.
Please feel free to let me know if I misunderstood you.