Inheritance: System.Windows.Controls.Canvas
示例#1
0
        public PlayJeuDeTacquin()
        {
            Title = "Jeu de Tacquin";
            SizeToContent = SizeToContent.WidthAndHeight;
            ResizeMode = ResizeMode.CanMinimize;
            Background = SystemColors.ControlBrush;

            StackPanel stack = new StackPanel();
            Content = stack;

            Button btn = new Button();
            btn.Content = "_Scramble";
            btn.Margin = new Thickness(10);
            btn.HorizontalAlignment = HorizontalAlignment.Center;
            btn.Click += ScrambleOnClick;
            stack.Children.Add(btn);

            Border bord = new Border();
            bord.BorderBrush = SystemColors.ControlDarkDarkBrush;
            bord.BorderThickness = new Thickness(1);
            stack.Children.Add(bord);

            unigrid = new UniformGrid();
            unigrid.Rows = NumberRows;
            unigrid.Columns = NumberCols;
            bord.Child = unigrid;

            for (int i = 0; i < NumberRows*NumberCols - 1; i++)
            {
                Tile tile = new Tile();
                tile.Text = (i+1).ToString();
                tile.MouseLeftButtonDown += TileOnMouseLeftButtonDown;
                unigrid.Children.Add(tile);
            }

            unigrid.Children.Add(new Empty());
            xEmpty = NumberCols - 1;
            yEmpty = NumberRows - 1;
        }
        void PageOnLoaded(object sender, RoutedEventArgs args)
        {
            if (!isLoaded)
            {
                Title = String.Format("Jeu de Tacquin ({0}\x00D7{1})",
                                      NumberCols, NumberRows);

                unigrid.Rows = NumberRows;
                unigrid.Columns = NumberCols;

                // Create Tile objects to fill all but one cell.
                for (int i = 0; i < NumberRows * NumberCols - 1; i++)
                {
                    Tile tile = new Tile();
                    tile.Text = (i + 1).ToString();
                    tile.MouseLeftButtonDown += TileOnMouseLeftButtonDown; ;
                    unigrid.Children.Add(tile);
                }
                // Create Empty object to fill the last cell.
                unigrid.Children.Add(new Empty());
                xEmpty = NumberCols - 1;
                yEmpty = NumberRows - 1;

                isLoaded = true;
            }
            Focus();
        }