zoukankan      html  css  js  c++  java
  • Silverlight 自定义表格

    功能很简单,用于备忘

    public class Table:Grid
        {
            #region Table属性

            private int rows;
            private int columns;
            private Color tableColor;

            public int Rows {
                get { return rows; }
                set { rows = value; }
            }

            public int Columns {
                get { return columns; }
                set { columns = value; }
            }

            public Color TableColor {
                get { return tableColor; }
                set { tableColor = value; }
            }

            #endregion


            #region Table事件

            #endregion

            #region Table方法

            public Table()
            {

            }

            public Table(int row, int couumn,Color color)
            {
                rows = row;
                columns = couumn;
                tableColor = color;
            }

            /// <summary>
            /// 初始化
            /// </summary>
            public void initTable() {

                Border border = new Border();
                border.BorderBrush = new SolidColorBrush(Colors.Black);
                border.BorderThickness = new Thickness(2);
                Grid grid = new Grid();

                for (int i = 0; i < rows; i++)
                {
                    grid.RowDefinitions.Insert(i, new RowDefinition() { Height = new GridLength(1,GridUnitType.Star) });
                }
                for (int j = 0; j < columns; j++)
                {
                    grid.ColumnDefinitions.Insert(j, new ColumnDefinition() { Width = new GridLength(1,GridUnitType.Star) });
                }

                //添加矩阵到单元格中
                for (int r = 0; r < rows; r++)
                {
                    for (int c = 0; c < columns; c++) {
                        Rectangle rec1 = getRectangle();
                        rec1.SetValue(Grid.RowProperty, r);
                        rec1.SetValue(Grid.ColumnProperty, c);
                        grid.Children.Add(rec1);
                    }
                }
                border.Child = grid;
                this.Children.Add(border);
            }

            Rectangle getRectangle()
            {
                Rectangle rectangle = new Rectangle
                {
                    HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
                    VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
                    Margin = new Thickness(0, 0, 0, 0),
                    Stroke = new SolidColorBrush(Colors.Black),
                };

                return rectangle;
            }

            Rectangle getRectangle(int r,int c,Color color)
            {
                Rectangle rectangle = new Rectangle
                {
                    HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
                    VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
                    Margin = new Thickness(0, 0, 0, 0),
                    Stroke = new SolidColorBrush(color),
                };

                return rectangle;
            }

            #endregion
           
        }

    使用方法

    Table table = new Table();
                    table.Rows = int.Parse(tbRow.Text.Trim());
                    table.Columns = int.Parse(tbColumn.Text.Trim());
                    table.initTable();
                    gridContent.Children.Add(table);

  • 相关阅读:
    ABAP Code Inspector那些隐藏的功能,您都知道吗?
    L2-017. 人以群分
    L2-007. 家庭房产
    L2-014. 列车调度
    L2-004. 这是二叉搜索树吗?
    过山车
    hdu 3746 Cyclic Nacklace
    hdu 1867 A + B for you again
    hdu 1686 Oulipo
    Orders
  • 原文地址:https://www.cnblogs.com/luxiaofeng54/p/1924175.html
Copyright © 2011-2022 走看看