…Except you are updating the repeater when you click on the “MyLabel” widget in the repeater cell, which triggers the repeater’s Item Loaded event, thus “initializing” the text with its Set Text action.
There is a known bug with repeaters in which widgets set to “Fit to Text Width” only get set once and don’t respond to dynamic text changes. Actually, this constraint applies to any widget in or outside of a repeater–the widget width only gets set at page load, not dynamically thereafter, but is especially problematic and unexpected with repeaters. Some workarounds I can suggest:
- Don’t use a repeater for horizontal menus like this.
- Use a fixed-width font (e.g., Courier or System) instead of a proportional font and set the size of MyLabel when you set the text in Item Loaded based on the number of chars, so if a character at the font size used is say, 12 px wide, then use “Set Size of MyLabel to [[Item.Title.length * 12]]”.
- Allow enough width in the widget to accommodate all possible text values in the repeater’s datasheet.
- If your Title labels can be classified into short, medium, long strings, then you could use a dynamic panel with 3 states, Short, Medium, Long, each with enough width to fit the class of string length.
- Use some javascript to calculate the width of the text. This method is not officially supported by Axure, so use at your own discretion. See this thread for an example: