In short it is possible, yet is there a better way to do it than how I have.
To accomplish this I set the min/max tile constraints of both Minimized and MinimizedExpanded to 0, set all InterTileSpacing for Maximized mode to 0, and set the ShowTileAreaSplitter to false.
This allows only the maximized tile to be seen, yet there is a slight space to the left of the tile where the tile area splitter and minimized tiles would have been. This results in an ugly shift of the right side of the maximized tile.
To lessen the impact to the user I have moved the maximized tile to the top, so the ugly shift and extra space is added to the bottom of the tile.
I would like to remove this space entirely and prevent the shift from happening, could you please advise on the best way to do this. Thanks!
Hi Taylor,
One approach to try would be to supply a style for Tile that binds its Visibility property to its State property using a converter that returns 'Collapsed' for the miminized states. Then don't set any tile constraints.
Theoretically this should work although I haven't tried this myself and I doubt anyone else has.
Please let me know if this works. If not I would recommend submitting a feature request.
Thanks Joe!
I tried maximizing a layout with a single tile, and there's no extra padding or shift, so I figured it has to do with the minimized tiles.
I was already collapsing minimized tiles as I have overridden the style for the Tile and added triggers to collapse the tile when in Minimized and MinimizedExpanded states. I disabled these triggers to see if the minimized tiles would display, and sure enough a small tile displays where the extra padding is.Thus setting min/max to zero does not actually set the tile size to zero.
I wonder if using a binding would work better than a trigger. Perhaps the trigger is being evaluated after the TilesPanel measures and arranges the tiles, so the tiles aren't being completely collapsed.
I was also considering an even that goes off after the State property changes, yet again it would ahve to be before the TilesPanel measures and arranges...
Hmmm. Even if you get this to work it seems like a lot of hoops to jump through. This sounds like it really should be implemented as a feature of the tiles control.
I know that doesn't help you now but I would still recommend submitting a feature request.
Go here to request a feature:
http://devcenter.infragistics.com/Protected/RequestFeature.aspx
Thanks again Joe!
How do I submit a feature request? It would be great as a feature, cause I want to be able to turn this on/off and right now that would take a bit of code to do so.
For fun I tried a binding instead of a trigger, no luck. Then I tried invalidating the measure and arrange on the TilesPanel to see if the binding or trigger is happening too late, yet this didn't work either. So the TilesPanel must be reserving too much space for zero-sized tiles.
I tried just collapsing the tile without zeroing its min/max size, and got the exact same behaviour. This means less hoops to jump through to accomplish the same thing... with one side affect. If I collapse a minimized tile, when it returns to normal mode the tile is set to visible and recalculates the space it needs. This causes the tile to display a wrong size, it seems the measure on the TilesPanel needs to be invalidated every time a tile is collapsed or made visible.
I've been having the same issue with dynamically resizing tiles based on content. I have to invalidate the measure on the TilesPanel after a size change. For resizing a single tile no big deal, yet for minimized tiles I'm not sure when to invalidate the measure, cause it would be nice to invalidate once, not for each tile.
I'm going to post up another topic about working with minimum and maximum sizes. Either I don't understand how to best use tile constraints, or it needs more work, or it was just not designed to work with dynamically sized tiles.
BTW I'm on 10.3, we're going to 11 sometime soon so I haven't tried if any of these behaviours are better in 11.