コード例 #1
0
        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);
        }
コード例 #2
0
 private static bool IsStar(DefinitionBase definition)
 {
     return(ResizeData.UserSizeValueCache(definition).IsStar);
 }