5 using System.Windows.Controls;
 
    7 namespace SiliconStudio.Presentation.Controls
 
   19         private bool gridParametersInvalidated;
 
   26             ColumnDefinitions.Add(
new ColumnDefinition { Width = 
new GridLength(0.0, GridUnitType.Auto) });
 
   27             ColumnDefinitions.Add(
new ColumnDefinition { Width = 
new GridLength(1.0, GridUnitType.Star) });
 
   33         private void InvalidateGridParameters()
 
   35             RowDefinitionCollection rowCollection = RowDefinitions;
 
   36             UIElementCollection children = Children;
 
   40             int neededRowCount = Math.DivRem(children.Count, 2, out remainder) + remainder;
 
   42             int currentRowCount = rowCollection.Count;
 
   43             int deltaRowCount = neededRowCount - currentRowCount;
 
   46             if (deltaRowCount > 0)
 
   48                 for (
int i = 0; i < deltaRowCount; i++)
 
   49                     rowCollection.Add(
new RowDefinition { Height = new GridLength(0.0, GridUnitType.Auto) });
 
   51             else if (deltaRowCount < 0)
 
   53                 rowCollection.RemoveRange(currentRowCount + deltaRowCount, -deltaRowCount);
 
   59             foreach (UIElement element 
in children)
 
   61                 element.SetValue(ColumnProperty, column);
 
   62                 element.SetValue(RowProperty, row);
 
   76             if (gridParametersInvalidated)
 
   78                 gridParametersInvalidated = 
false;
 
   79                 InvalidateGridParameters();
 
   82             return base.MeasureOverride(constraint);
 
   88             gridParametersInvalidated = 
true;
 
   89             base.OnVisualChildrenChanged(visualAdded, visualRemoved);
 
override Size MeasureOverride(Size constraint)
override void OnVisualChildrenChanged(DependencyObject visualAdded, DependencyObject visualRemoved)
KeyValueGrid()
Initializes a new instance of the KeyValueGrid class. 
This control represents a Grid with two columns, the first one representing keys and the second one r...