Last-Modified: Mon, 27 Jul 2026 10:55:08 GMT Expires: Thu, 24 Jul 2036 10:55:08 GMT TableGrid.cs « Controls « Tango.SharedUI « Visual_Studio « Software - Tango - Twine softwares
aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.SharedUI/Controls/TableGrid.cs
blob: 454d8dfac712cd583fc1490a4a95970504a1067b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.h
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace Tango.SharedUI.Controls
{
    public class TableGrid : Grid
    {
        public GridLength RowHeight
        {
            get { return (GridLength)GetValue(RowHeightProperty); }
            set { SetValue(RowHeightProperty, value); }
        }
        
>= DependencyProperty.Register("RowHeight", typeof(GridLength), typeof(TableGrid), new PropertyMetadata(new GridLength(1, GridUnitType.Star))); public TableGrid() { ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto) }); ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }); this.Loaded += TableGrid_Loaded; } private void TableGrid_Loaded(object sender, RoutedEventArgs e) { InvalidateGrid(); } protected override void OnVisualChildrenChanged(DependencyObject visualAdded, DependencyObject visualRemoved) { base.OnVisualChildrenChanged(visualAdded, visualRemoved); InvalidateGrid(); } protected override Size ArrangeOverride(Size arrangeSize) { return base.ArrangeOverride(arrangeSize); } private void InvalidateGrid() { RowDefinitions.Clear(); RowDefinitions.Add(new RowDefinition() { Height = RowHeight }); int currentRow = 0; for (int i = 0; i < Children.Count; i++) { SetRow(Children[i], currentRow); if (i % 2 != 0) { SetColumn(Children[i], 1); (Children[i] as FrameworkElement).Margin = new Thickness(20, 0, 0, 0); currentRow++; RowDefinitions.Add(new RowDefinition() { Height = RowHeight }); } (Children[i] as FrameworkElement).VerticalAlignment = VerticalAlignment.Bottom; } } } }