public void Init()
        {
            //Prepare for generating blocks
            BlockButtons      = new IntelliButton[CurrentGameData.MapRow, CurrentGameData.MapColumn];
            MapGrid.MinHeight = Default.MinBlockHeight * CurrentGameData.MapRow;
            MapGrid.MinWidth  = Default.MinBlockWidth * CurrentGameData.MapColumn;

            //Build grid
            for (int i = 0; i < CurrentGameData.MapRow; i++)
            {
                MapGrid.RowDefinitions.Add(new RowDefinition());
            }
            for (int i = 0; i < CurrentGameData.MapColumn; i++)
            {
                MapGrid.ColumnDefinitions.Add(new ColumnDefinition());
            }

            //Add blocks
            for (int i = 0; i < CurrentGameData.MapRow; i++)
            {
                for (int j = 0; j < CurrentGameData.MapColumn; j++)
                {
                    SetBlock(i, j);
                }
            }

            //Triger 'update event'
            UpdateWindow();
        }
        private void SetBlock(int i, int j)
        {
            //Create new block
            BlockButtons[i, j] = new IntelliButton(i, j)
            {
                Style      = Application.Current.Resources["BlockButtonStyle"] as Style, //Get and use the style
                FontFamily = Managers.ControlsManager.TextFontFamily
            };
            BlockButtons[i, j].PreviewMouseLeftButtonDown  += PreviewMouseLeftButtonUpAction;
            BlockButtons[i, j].PreviewMouseRightButtonDown += PreviewMouseRightButtonUpAction;

            //Add block
            MapGrid.Children.Add(BlockButtons[i, j]);
            Grid.SetRow(BlockButtons[i, j], i);
            Grid.SetColumn(BlockButtons[i, j], j);
        }