using System; using StrixMusic.Shells.ZuneDesktop.Helpers; using Windows.UI; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; namespace StrixMusic.Shells.ZuneDesktop.Controls.Views.NowPlayingView { /// /// An empty page that can be used on its own or navigated to within a Frame. /// public sealed partial class AlbumWall : UserControl { /// /// Initializes a new instance of the class. /// public AlbumWall() { this.InitializeComponent(); Loaded += AlbumWall_Loaded; } private void AlbumWall_Loaded(object sender, RoutedEventArgs e) { Loaded -= AlbumWall_Loaded; UpdateSize(); int rows = (int)(ActualHeight / 72); int rowsAndColumns = (int)(ActualWidth / 72); AddRowsAndColumns(rowsAndColumns); TileGenerator tileGenerator = new TileGenerator(rowsAndColumns); foreach (var border in tileGenerator.GetTiles()) { border.BorderThickness = new Thickness(1); border.Background = new SolidColorBrush(Colors.Cyan); MainGrid.Children.Add(border); } } private void AddRowsAndColumns(int count) { for (int i = 0; i < count; i++) { RowDefinition row = new RowDefinition(); row.Height = new GridLength(1, GridUnitType.Star); ColumnDefinition column = new ColumnDefinition(); column.Width = new GridLength(1, GridUnitType.Star); MainGrid.ColumnDefinitions.Add(column); MainGrid.RowDefinitions.Add(row); } } private void UserControl_SizeChanged(object sender, SizeChangedEventArgs args) { UpdateSize(); } private void UpdateSize() { if (ActualHeight > ActualWidth) { MainGrid.MinHeight = ActualHeight; MainGrid.MinWidth = ActualHeight; } else { MainGrid.MinHeight = ActualWidth; MainGrid.MinWidth = ActualWidth; } } } }