private bool SetupDefinitionsToResize() { int num4 = (int)base.GetValue((this._resizeData.ResizeDirection == GridResizeDirection.Columns) ? Grid.ColumnSpanProperty : Grid.RowSpanProperty); if (num4 == 1) { int num2; int num3; int num = (int)base.GetValue((this._resizeData.ResizeDirection == GridResizeDirection.Columns) ? Grid.ColumnProperty : Grid.RowProperty); switch (this._resizeData.ResizeBehavior) { case GridResizeBehavior.CurrentAndNext: num2 = num; num3 = num + 1; break; case GridResizeBehavior.PreviousAndCurrent: num2 = num - 1; num3 = num; break; default: num2 = num - 1; num3 = num + 1; break; } int num5 = (this._resizeData.ResizeDirection == GridResizeDirection.Columns) ? this._resizeData.Grid.ColumnDefinitions.Count : this._resizeData.Grid.RowDefinitions.Count; if ((num2 >= 0) && (num3 < num5)) { this._resizeData.SplitterIndex = num; this._resizeData.Definition1Index = num2; this._resizeData.Definition1 = GetGridDefinition(this._resizeData.Grid, num2, this._resizeData.ResizeDirection); this._resizeData.OriginalDefinition1Length = ResizeData.UserSizeValueCache(this._resizeData.Definition1); this._resizeData.OriginalDefinition1ActualLength = this.GetActualLength(this._resizeData.Definition1); this._resizeData.Definition2Index = num3; this._resizeData.Definition2 = GetGridDefinition(this._resizeData.Grid, num3, this._resizeData.ResizeDirection); this._resizeData.OriginalDefinition2Length = ResizeData.UserSizeValueCache(this._resizeData.Definition2); this._resizeData.OriginalDefinition2ActualLength = this.GetActualLength(this._resizeData.Definition2); bool flag = IsStar(this._resizeData.Definition1); bool flag2 = IsStar(this._resizeData.Definition2); if (flag && flag2) { this._resizeData.SplitBehavior = SplitBehavior.Split; } else { this._resizeData.SplitBehavior = !flag ? SplitBehavior.Resize1 : SplitBehavior.Resize2; } return(true); } } return(false); }
private static bool IsStar(DefinitionBase definition) { return(ResizeData.UserSizeValueCache(definition).IsStar); }