I previously posted this in the xamTileControl forum because I didn't see this forum. I'm repeating the post here:
We've been looking at using XamTileManager with the metro styles in a line of business app, and have some questions about the functionality.
As we look at metro functionality in general, we see where the tiles are used to display the options avaialble for the user, with the ability to include active content in the tile. That functionality we see in the NetVantage toolset. What we don't see is where the user can click on a tile to open that screen. The XamTile doesn't even have a clicked event or a double clicked event. Our app has a few dozen tiles, and we expect to give the user the screen they opened in a full screen mode. To have the non-selected tiles still visible on the side of the screen reduces the functionality the user can access in what they selected. We would also like to have the screens open in the XamDockManager, to allow the user to have multiple screens going at the same time.
So we'd like a XamTileManager to sit on top of a XamDockManager, with the ability to click on a tile and open in the dock manager. We would also like the ability to go back from the dock manager to the tiles. Is this conceptually even possible with NetAdvantage?
Hello,
I have been looking into your post and to have a better overview on the xamTileManager control’s capabilities, you can take a look in our Feature Browser (below is the path).
As far as I understood, your requirements include having multiple tiles and giving the user an ability to expands one or more of them at the same time. If this is your goal, then you do not need to use xamDockManager. You can see an example of how can you achieve that in the Feature Browser -> xamTileManager -> Organization -> Tile Settings example.
According to your next requirement - the inactive tiles, what I understood from your post is that you would like to have a “full screen” tile and therefore to make all the unexpanded tiles invisible until the full screen tile is being collapsed. This functionality can be achieved via the XamTileManager’s TileStateChanged event and some logic in its handler. This event is raised every time the tiles have changed their state, so you should include several different conditions to be sure that the right tiles will be shown/hidden. I can give you the following simple example of how can you implement the needed functionality for the first of three tiles. We have the XamTileManager:
<ig:XamTileManager TileStateChanged="xamTileManager1_TileStateChanged" Grid.Row="1" Name="xamTileManager1" Margin="10,0,0,0">
<ig:XamTileManager.MaximizedModeSettings>
<ig:MaximizedModeSettings MaximizedTileLocation="Left" />
</ig:XamTileManager.MaximizedModeSettings>
<ig:XamTile x:Name="Tile1"
Header="Tile 1"
Content="Content Area"/>
<ig:XamTile x:Name="Tile2"
Header="Tile 2"
Content="Content Area" />
<ig:XamTile x:Name="Tile3"
Header="Tile 3"
</ig:XamTileManager>
And in the code behind:
private void xamTileManager1_TileStateChanged(object sender, Infragistics.Controls.Layouts.TileStateChangedEventArgs e)
{
if (e.Tile.Name == "Tile1" && e.OldState == Infragistics.Controls.Layouts.TileState.Maximized)
Tile2.Visibility = Visibility.Visible;
Tile3.Visibility = Visibility.Visible;
}
else if (e.Tile.Name == "Tile1" && e.OldState == Infragistics.Controls.Layouts.TileState.Normal)
Tile2.Visibility = Visibility.Collapsed;
Tile3.Visibility = Visibility.Collapsed;
You can customize the code in the handler according to your specific project requirements and add the needed logic that will guarantee that the action will be applied only to the needed tiles.
Please let me know if I you have additional questions on the discussed matter.
Sincerely,
Ekaterina
Developer Support Engineer
Infragistics, Inc.
www.infragistics.com/support
Thanks, I'll try your suggestion.
It still seems to me that the tiles functionality is lacking. We'll easily have 30 or 40 tiles for our app, and metro is supposed to allow us to group them with different sections. I cannot find any way to do anything like that with these controls. All you've done is put some visual changes on existing functionality.