protected virtual bool UpdateOnMeasure(SizeF availableSize) { RectangleF clientRectangle = this.GetClientRectangle(availableSize); RadScrollBarElement scrollBarElement1 = this.HScrollBar; RadScrollBarElement scrollBarElement2 = this.VScrollBar; if (this.Orientation == Orientation.Horizontal) { scrollBarElement1 = this.VScrollBar; scrollBarElement2 = this.HScrollBar; } ElementVisibility visibility = scrollBarElement1.Visibility; if (this.FitItemsToSize) { this.HScrollBar.Visibility = ElementVisibility.Collapsed; } else { scrollBarElement1.LargeChange = (int)((double)clientRectangle.Width - (double)scrollBarElement2.DesiredSize.Width - (double)this.ViewElement.Margin.Horizontal); scrollBarElement1.SmallChange = scrollBarElement1.LargeChange / 10; scrollBarElement1.Visibility = scrollBarElement1.LargeChange < scrollBarElement1.Maximum ? ElementVisibility.Visible : ElementVisibility.Collapsed; } SizeF size = clientRectangle.Size; if (this.HScrollBar.Visibility == ElementVisibility.Visible) { size.Height -= this.HScrollBar.DesiredSize.Height; } this.scroller.ClientSize = size; return(visibility != scrollBarElement1.Visibility); }
protected override bool UpdateOnMeasure(SizeF availableSize) { bool result = base.UpdateOnMeasure(availableSize); ElementVisibility oldVisibility = this.HScrollBar.Visibility; RectangleF clientRect = GetClientRectangle(availableSize); HScrollBar.LargeChange = (int)(clientRect.Width - VScrollBar.DesiredSize.Width - this.ViewElement.Margin.Horizontal); HScrollBar.SmallChange = HScrollBar.LargeChange / 10; this.UpdateHScrollbarMaximum(); SizeF clientSize = clientRect.Size; if (this.HScrollBar.Visibility != ElementVisibility.Collapsed) { clientSize.Height -= HScrollBar.DesiredSize.Height; } this.Scroller.ClientSize = clientSize; if (this.HScrollBar.Visibility != oldVisibility) { return(true); } return(result); }
public static void ZzPagesVisibility(this RadPageView pageView, ElementVisibility state) { foreach (var page in pageView.Pages) { page.Item.Visibility = state; } }
protected override void OnNotifyPropertyChanged(string propertyName) { switch (propertyName) { case "ShowCloseButton": { ElementVisibility visibility = this.showCloseButton ? ElementVisibility.Visible : ElementVisibility.Collapsed; this.alertWindowCaptionElement.TextAndButtonsElement.CloseButton.Visibility = visibility; break; } case "ShowPinButton": { ElementVisibility visibility = this.showPinButton ? ElementVisibility.Visible : ElementVisibility.Collapsed; this.alertWindowCaptionElement.TextAndButtonsElement.PinButton.Visibility = visibility; break; } case "ShowOptionsButton": { ElementVisibility visibility = this.showOptionsButton ? ElementVisibility.Visible : ElementVisibility.Collapsed; this.alertWindowCaptionElement.TextAndButtonsElement.OptionsButton.Visibility = visibility; break; } } base.OnNotifyPropertyChanged(propertyName); }
protected override SizeF MeasureOverride(SizeF availableSize) { RectangleF clientRect = this.GetClientRectangle(availableSize); this.MeasureChildElements(clientRect); ElementVisibility oldVScrollVisibility = this.VScrollBar.Visibility; this.ViewElement.Measure(new SizeF(clientRect.Width - this.VScrollBar.DesiredSize.Width, availableSize.Height - this.columnsScrollBar.DesiredSize.Height - this.columnContainer.DesiredSize.Height)); if (this.UpdateOnMeasure(availableSize) || oldVScrollVisibility != this.VScrollBar.Visibility) { this.MeasureChildElements(clientRect); this.ViewElement.Measure(new SizeF(clientRect.Width - this.VScrollBar.DesiredSize.Width, availableSize.Height - this.columnsScrollBar.DesiredSize.Height - this.columnContainer.DesiredSize.Height)); } CalculateCornerCellWidth(); if (cornerCellWidth > 0 && this.owner.ShowColumnHeaders) { this.columnContainer.Measure(new SizeF(clientRect.Width - this.VScrollBar.DesiredSize.Width - cornerCellWidth, clientRect.Height)); } SizeF measuredSize = this.ViewElement.DesiredSize; measuredSize.Height += this.columnContainer.DesiredSize.Height + this.columnsScrollBar.DesiredSize.Height; measuredSize.Width += this.VScrollBar.DesiredSize.Width; return(measuredSize); }
protected virtual bool UpdateOnMeasure(SizeF availableSize) { RectangleF clientRect = GetClientRectangle(availableSize); RadScrollBarElement hscrollbar = this.HScrollBar; RadScrollBarElement vscrollbar = this.VScrollBar; if (this.Orientation == Orientation.Horizontal) { hscrollbar = this.VScrollBar; vscrollbar = this.HScrollBar; } ElementVisibility visibility = hscrollbar.Visibility; if (FitItemsToSize) { HScrollBar.Visibility = ElementVisibility.Collapsed; } else { hscrollbar.LargeChange = (int)(clientRect.Width - vscrollbar.DesiredSize.Width - this.ViewElement.Margin.Horizontal); hscrollbar.SmallChange = hscrollbar.LargeChange / 10; hscrollbar.Visibility = hscrollbar.LargeChange < hscrollbar.Maximum ? ElementVisibility.Visible : ElementVisibility.Collapsed; } SizeF clientSize = clientRect.Size; if (HScrollBar.Visibility == ElementVisibility.Visible) { clientSize.Height -= HScrollBar.DesiredSize.Height; } this.scroller.ClientSize = clientSize; return(visibility != hscrollbar.Visibility); }
protected virtual void UpdateLinkTypes(bool isLastChildRow) { ElementVisibility elementVisibility = ElementVisibility.Hidden; if (this.rowElement.TableElement.ShowSelfReferenceLines) { elementVisibility = ElementVisibility.Visible; } int index1 = this.LinkCount - 1; GridLinkItem hierarchyLink1 = this.hierarchyLinks[index1]; hierarchyLink1.Visibility = elementVisibility; hierarchyLink1.Type = !isLastChildRow ? GridLinkItem.LinkType.TShape : GridLinkItem.LinkType.RightBottomAngleShape; GridViewHierarchyRowInfo parent = this.RowInfo.Parent as GridViewHierarchyRowInfo; for (int index2 = index1 - 1; index2 >= 0; --index2) { GridLinkItem hierarchyLink2 = this.hierarchyLinks[index2]; hierarchyLink2.Visibility = elementVisibility; hierarchyLink2.Type = GridLinkItem.LinkType.VerticalLine; if (parent != null) { if (this.IsLastChildRow(parent.Parent, (GridViewRowInfo)parent)) { hierarchyLink2.Visibility = ElementVisibility.Hidden; } parent = parent.Parent as GridViewHierarchyRowInfo; } else { hierarchyLink2.Visibility = ElementVisibility.Hidden; } } }
protected override SizeF MeasureOverride(SizeF availableSize) { RectangleF clientRectangle = this.GetClientRectangle(availableSize); this.MeasureChildElements(clientRectangle); ElementVisibility visibility = this.VScrollBar.Visibility; float num = 0.0f; if (this.columnsScrollBar.Visibility != ElementVisibility.Collapsed || this.GanttViewElement.GraphicalViewElement.HorizontalScrollBarElement.Visibility != ElementVisibility.Collapsed) { num = Math.Max(this.columnsScrollBar.DesiredSize.Height, this.GanttViewElement.GraphicalViewElement.HorizontalScrollBarElement.DesiredSize.Height); } this.ViewElement.Measure(new SizeF(clientRectangle.Width - this.VScrollBar.DesiredSize.Width, availableSize.Height - num - (float)this.GanttViewElement.HeaderHeight)); if (this.UpdateOnMeasure(availableSize) || visibility != this.VScrollBar.Visibility) { this.MeasureChildElements(clientRectangle); this.UpdateOnMeasure(availableSize); this.ViewElement.Measure(new SizeF(clientRectangle.Width - this.VScrollBar.DesiredSize.Width, availableSize.Height - num - (float)this.GanttViewElement.HeaderHeight)); } this.columnContainer.Measure(new SizeF(clientRectangle.Width - this.VScrollBar.DesiredSize.Width, (float)this.GanttViewElement.HeaderHeight)); SizeF desiredSize = this.ViewElement.DesiredSize; desiredSize.Height += (float)this.GanttViewElement.HeaderHeight + num; desiredSize.Width += this.VScrollBar.DesiredSize.Width; return(desiredSize); }
public static void SetVisibility(this FrameworkElement element, ElementVisibility visibility, Visibility autoVisibility) { if (element != null) { element.Visibility = VisibilityUtils.EvaluateElementVisibility(visibility, autoVisibility); } }
internal static object Box(ElementVisibility value) { if (value == ElementVisibility.Visible) { return(VisibilityBoxes.VisibleBox); } if (value == ElementVisibility.Hidden) { return(VisibilityBoxes.HiddenBox); } return(VisibilityBoxes.CollapsedBox); }
protected void SetIndicatorsVisibility(ElementVisibility visibility) { int index = 0; if (this.WaitingStyle == WaitingBarStyles.Throbber) { int num1 = (int)this.WaitingIndicators[index++].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)ElementVisibility.Visible); } for (; index < this.WaitingIndicators.Count; ++index) { int num2 = (int)this.WaitingIndicators[index].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)visibility); } }
protected void SetIndicatorsVisibility(ElementVisibility visibility) { int i = 0; if (WaitingStyle == WaitingBarStyles.Throbber) { Indicators[i++].SetDefaultValueOverride(RadElement.VisibilityProperty, ElementVisibility.Visible); } for (; i < indicators.Count; i++) { Indicators[i].SetDefaultValueOverride(RadElement.VisibilityProperty, visibility); } }
public void SetOptionalElementsVisibility(ElementVisibility visibility) { if (visibility == ElementVisibility.Collapsed) { this.captionTextPrimitive.MinSize = new Size(120, 10); } else if (visibility == ElementVisibility.Visible) { this.captionTextPrimitive.MinSize = new Size(240, 10); } for (int i = 0; i < this.optionalItems.Count; i++) { this.optionalItems[i].Visibility = visibility; } }
private void SetClearButtonVisibility() { if (this.clearButton == null) { return; } ElementVisibility elementVisibility = this.ShowClearButton ? (this.Text.Length <= 0 ? ElementVisibility.Hidden : ElementVisibility.Visible) : ElementVisibility.Collapsed; if (this.TextBoxItem.ReadOnly && this.ShowClearButton) { this.readOnlyClearButtonVisibility = new ElementVisibility?(elementVisibility); } else { this.clearButton.Visibility = elementVisibility; } }
protected override bool UpdateOnMeasure(SizeF availableSize) { RectangleF clientRectangle = this.GetClientRectangle(availableSize); RadScrollBarElement columnsScrollBar = this.columnsScrollBar; RadScrollBarElement vscrollBar = this.VScrollBar; ElementVisibility visibility1 = columnsScrollBar.Visibility; ElementVisibility visibility2 = vscrollBar.Visibility; SizeF size = clientRectangle.Size; size.Height -= this.columnContainer.DesiredSize.Height; size.Width -= this.CalculateCornerCellWidth(); if (columnsScrollBar.Visibility == ElementVisibility.Visible) { size.Height -= this.columnsScrollBar.DesiredSize.Height; } this.Scroller.ClientSize = size; this.columnScroller.ClientSize = size; this.columnScroller.UpdateScrollRange(); this.Scroller.UpdateScrollRange(); bool flag = false; if (vscrollBar.Visibility == ElementVisibility.Visible) { size.Width -= vscrollBar.DesiredSize.Width; this.Scroller.ClientSize = size; this.columnScroller.ClientSize = size; flag = true; } if (columnsScrollBar.Visibility != visibility1 && columnsScrollBar.Visibility == ElementVisibility.Visible) { size.Height -= this.columnsScrollBar.DesiredSize.Height; this.Scroller.ClientSize = size; this.columnScroller.ClientSize = size; flag = true; } if (flag) { this.columnScroller.UpdateScrollRange(); this.Scroller.UpdateScrollRange(); } if (visibility1 == columnsScrollBar.Visibility) { return(visibility2 != this.columnsScrollBar.Visibility); } return(true); }
/// <summary> /// Gets the element's desired size, using the specified available. /// </summary> /// <param name="element"></param> /// <param name="availableSize"></param> /// <returns></returns> public SizeF GetDesiredSize(RadElement element, SizeF availableSize) { //suspend theme updates for the element element.SuspendThemeRefresh(); RadElement parent = element.Parent; int indexInChildrenCollection = -1; if (parent != null) { indexInChildrenCollection = parent.Children.IndexOf(element); } ElementVisibility oldVisibility = element.Visibility; if (oldVisibility != ElementVisibility.Visible) { element.Visibility = ElementVisibility.Visible; } this.RootElement.Children.Add(element); element.ResetLayout(true); element.Measure(availableSize); SizeF desiredSize = element.GetDesiredSize(false); //add the element to its previous parent (it will be automatically removed from its current parent) if (parent != null) { parent.Children.Insert(indexInChildrenCollection, element); } else { this.RootElement.Children.Remove(element); } if (oldVisibility != ElementVisibility.Visible) { element.Visibility = oldVisibility; } element.ResumeThemeRefresh(); return(desiredSize); }
public static Visibility EvaluateElementVisibility(ElementVisibility visibility, Visibility autoVisibility) { if (visibility == ElementVisibility.Collapsed) { return(Visibility.Collapsed); } if (visibility == ElementVisibility.Hidden) { #if SILVERLIGHT return(Visibility.Collapsed); #else return(Visibility.Hidden); #endif } return(visibility == ElementVisibility.Visible ? Visibility.Visible : autoVisibility); }
private void UpdateScrollbars(SizeF finalSize) { RectangleF clientRectangle = this.GetClientRectangle(finalSize); RectangleF rectangleF = clientRectangle; RadElement radElement = (RadElement)null; if (this.ViewElement.Children.Count == 1) { radElement = this.ViewElement.Children[0]; } ElementVisibility visibility1 = this.HScrollBar.Visibility; ElementVisibility visibility2 = this.VScrollBar.Visibility; if (((double)this.ViewElement.DesiredSize.Width > (double)clientRectangle.Width ? 0 : 2) == 0) { clientRectangle.Height = rectangleF.Height - this.HScrollBar.DesiredSize.Height; } ElementVisibility elementVisibility1 = (double)this.ViewElement.DesiredSize.Height > (double)clientRectangle.Height ? ElementVisibility.Visible : ElementVisibility.Collapsed; if (elementVisibility1 == ElementVisibility.Visible) { clientRectangle.Width = rectangleF.Width - this.VScrollBar.DesiredSize.Width; } ElementVisibility elementVisibility2 = (double)this.ViewElement.DesiredSize.Width > (double)clientRectangle.Width ? ElementVisibility.Visible : ElementVisibility.Collapsed; if (elementVisibility2 == ElementVisibility.Visible) { clientRectangle.Height = rectangleF.Height - this.HScrollBar.DesiredSize.Height; } if (elementVisibility2 != ElementVisibility.Visible && radElement != null) { radElement.PositionOffset = new SizeF(0.0f, radElement.PositionOffset.Height); } if (elementVisibility1 != ElementVisibility.Visible && radElement != null) { radElement.PositionOffset = new SizeF(radElement.PositionOffset.Width, 0.0f); } this.HScrollBar.Maximum = (int)this.ViewElement.DesiredSize.Width; this.HScrollBar.LargeChange = (int)clientRectangle.Width; this.HScrollBar.Visibility = elementVisibility2; this.VScrollBar.Maximum = (int)this.ViewElement.DesiredSize.Height; this.VScrollBar.LargeChange = (int)clientRectangle.Height; this.VScrollBar.Visibility = elementVisibility1; }
public virtual void UpdateContentVisibility(bool showCells) { ElementVisibility elementVisibility = showCells ? ElementVisibility.Visible : ElementVisibility.Hidden; foreach (VirtualGridCellElement cellElement in this.GetCellElements()) { if (cellElement.ColumnIndex >= 0) { cellElement.Visibility = elementVisibility; } } if (showCells) { this.Text = string.Empty; } else { this.Text = LocalizationProvider <RadVirtualGridLocalizationProvider> .CurrentProvider.GetLocalizedString("AddNewRowString"); } }
private void OnRadQuickAccessBar_ItemsChanged( RadItemCollection changed, RadItem target, ItemsChangeOperation operation) { if (operation == ItemsChangeOperation.Inserted && ((object)target.GetType() == (object)typeof(RadButtonElement) || target.GetType().IsSubclassOf(typeof(RadButtonElement)))) { RadButtonElement radButtonElement = target as RadButtonElement; radButtonElement.Class = "RibbonBarButtonElement"; radButtonElement.BorderElement.Class = "ButtonInRibbonBorder"; radButtonElement.ButtonFillElement.Class = "ButtonInRibbonFill"; radButtonElement.StretchHorizontally = false; radButtonElement.StretchVertically = false; } if (this.DesignMode) { return; } ElementVisibility elementVisibility = this.Items.Count > 0 ? ElementVisibility.Visible : ElementVisibility.Collapsed; int num1 = (int)this.overFlowButton.SetDefaultValueOverride(RadElement.VisibilityProperty, (object)elementVisibility); int num2 = (int)this.quickAccessItemsPanel.SetDefaultValueOverride(RadElement.VisibilityProperty, (object)elementVisibility); }
protected override bool UpdateOnMeasure(SizeF availableSize) { RectangleF clientRect = GetClientRectangle(availableSize); RadScrollBarElement hscrollbar = this.columnsScrollBar; RadScrollBarElement vscrollbar = this.VScrollBar; ElementVisibility hVisibility = hscrollbar.Visibility; ElementVisibility vVisibility = vscrollbar.Visibility; SizeF clientSize = clientRect.Size; clientSize.Height -= this.columnContainer.DesiredSize.Height; if (hscrollbar.Visibility == ElementVisibility.Visible) { clientSize.Height -= columnsScrollBar.DesiredSize.Height; } this.Scroller.ClientSize = clientSize; this.columnScroller.ClientSize = clientSize; this.columnScroller.UpdateScrollRange(); this.Scroller.UpdateScrollRange(); if (vscrollbar.Visibility == ElementVisibility.Visible) { clientSize.Width -= vscrollbar.DesiredSize.Width; } this.Scroller.ClientSize = clientSize; this.columnScroller.ClientSize = clientSize; this.columnScroller.UpdateScrollRange(); this.Scroller.UpdateScrollRange(); return(hVisibility != hscrollbar.Visibility || vVisibility != columnsScrollBar.Visibility); }
private void SetEndItemVisibility(ElementVisibility visibility) { if (this.GanttViewElement == null) { return; } GanttGraphicalViewBaseItemElement element = this.GanttViewElement.GraphicalViewElement.GetElement(this.EndItem) as GanttGraphicalViewBaseItemElement; if (element == null) { return; } if (this.LinkType == TasksLinkType.FinishToStart || this.LinkType == TasksLinkType.StartToStart) { element.LeftLinkHandleElement.Visibility = visibility; element.RightLinkHandleElement.Visibility = ElementVisibility.Hidden; } else { element.RightLinkHandleElement.Visibility = visibility; element.LeftLinkHandleElement.Visibility = ElementVisibility.Hidden; } }
private void SetTextAndImageVisibility() { ElementVisibility textVisibility = ElementVisibility.Visible; ElementVisibility imageVisibility = ElementVisibility.Visible; switch (this.DisplayStyle) { case DisplayStyle.Image: textVisibility = ElementVisibility.Collapsed; imageVisibility = ElementVisibility.Visible; break; case DisplayStyle.Text: textVisibility = ElementVisibility.Visible; imageVisibility = ElementVisibility.Collapsed; break; case DisplayStyle.ImageAndText: textVisibility = ElementVisibility.Visible; imageVisibility = ElementVisibility.Visible; break; case DisplayStyle.None: textVisibility = ElementVisibility.Collapsed; imageVisibility = ElementVisibility.Collapsed; break; } if (this.textElement != null) { this.textElement.Visibility = textVisibility; } if (this.imageElement != null) { this.imageElement.Visibility = imageVisibility; } }
private void SetTextAndImageVisibility() { ElementVisibility elementVisibility1 = ElementVisibility.Visible; ElementVisibility elementVisibility2 = ElementVisibility.Visible; switch (this.DisplayStyle) { case DisplayStyle.None: elementVisibility1 = ElementVisibility.Collapsed; elementVisibility2 = ElementVisibility.Collapsed; break; case DisplayStyle.Text: elementVisibility1 = ElementVisibility.Visible; elementVisibility2 = ElementVisibility.Collapsed; break; case DisplayStyle.Image: elementVisibility1 = ElementVisibility.Collapsed; elementVisibility2 = ElementVisibility.Visible; break; case DisplayStyle.ImageAndText: elementVisibility1 = ElementVisibility.Visible; elementVisibility2 = ElementVisibility.Visible; break; } if (this.textElement != null) { this.textElement.Visibility = elementVisibility1; } if (this.imageElement == null) { return; } this.imageElement.Visibility = elementVisibility2; }
public virtual void UpdateContentVisibility(bool showCells) { ElementVisibility elementVisibility = showCells ? ElementVisibility.Visible : ElementVisibility.Hidden; foreach (GridCellElement visualCell in this.VisualCells) { if (!(visualCell.ColumnInfo is GridViewIndentColumn) && !(visualCell.ColumnInfo is GridViewRowHeaderColumn)) { visualCell.Visibility = elementVisibility; } } if (showCells) { this.Text = string.Empty; } else if (!string.IsNullOrEmpty(this.ViewTemplate.NewRowText)) { this.Text = this.ViewTemplate.NewRowText; } else { this.Text = LocalizationProvider <RadGridLocalizationProvider> .CurrentProvider.GetLocalizedString("AddNewRowString"); } }
protected virtual bool UpdateOnMeasure(SizeF availableSize) { RectangleF clientRectangle = this.GetClientRectangle(availableSize); ElementVisibility visibility1 = this.HScrollBar.Visibility; ElementVisibility visibility2 = this.VScrollBar.Visibility; SizeF size = clientRectangle.Size; if (this.HScrollBar.Visibility == ElementVisibility.Visible) { size.Height -= this.HScrollBar.DesiredSize.Height; } if (this.VScrollBar.Visibility == ElementVisibility.Visible) { size.Width -= this.VScrollBar.DesiredSize.Width; } this.RowScroller.ClientSize = size; size.Width -= (float)this.IndentColumnWidth; this.ColumnScroller.ClientSize = size; if (visibility1 == this.HScrollBar.Visibility) { return(visibility2 != this.VScrollBar.Visibility); } return(true); }
public SizeF GetDesiredSize(RadElement element, SizeF availableSize) { element.SuspendThemeRefresh(); RadElement parent = element.Parent; int index = -1; if (parent != null) { index = parent.Children.IndexOf(element); } ElementVisibility visibility = element.Visibility; if (visibility != ElementVisibility.Visible) { element.Visibility = ElementVisibility.Visible; } this.RootElement.Children.Add(element); element.ResetLayout(true); element.Measure(availableSize); SizeF desiredSize = element.GetDesiredSize(false); if (parent != null) { parent.Children.Insert(index, element); } else { this.RootElement.Children.Remove(element); } if (visibility != ElementVisibility.Visible) { element.Visibility = visibility; } element.ResumeThemeRefresh(); return(desiredSize); }
private void radCheckBoxPage1Title_ToggleStateChanged(object sender, StateChangedEventArgs args) { ElementVisibility titleVisibility = this.radCheckBoxPage1Title.ToggleState == ToggleState.On ? ElementVisibility.Visible : ElementVisibility.Collapsed; this.wizardPage1.TitleVisibility = titleVisibility; }
private void radCheckBoPage1Header_ToggleStateChanged(object sender, StateChangedEventArgs args) { ElementVisibility headerVisibility = this.radCheckBoxPage1Header.ToggleState == ToggleState.On ? ElementVisibility.Visible : ElementVisibility.Collapsed; this.wizardPage1.HeaderVisibility = headerVisibility; }
protected virtual SizeF MeasureView(SizeF availableSize) { Padding clientOffset = this.GetClientOffset(true); SizeF desiredSize = new SizeF(clientOffset.Horizontal, clientOffset.Vertical); ElementVisibility oldHScrollbarVisibility = this.hscrollBar.Visibility; if (hscrollBar.Visibility != ElementVisibility.Collapsed) { hscrollBar.Measure(availableSize); desiredSize.Height += hscrollBar.DesiredSize.Height; availableSize.Height -= hscrollBar.DesiredSize.Height; } SizeF hscrollbarDesiredSize = hscrollBar.DesiredSize; ElementVisibility oldVScrollbarVisibility = this.vscrollBar.Visibility; if (vscrollBar.Visibility != ElementVisibility.Collapsed) { vscrollBar.Measure(availableSize); desiredSize.Width += vscrollBar.DesiredSize.Width; availableSize.Width -= vscrollBar.DesiredSize.Width; } SizeF vscrollbarDesiredSize = vscrollBar.DesiredSize; viewElement.Measure(availableSize); bool doubleMeasure = false; if (oldHScrollbarVisibility != this.hscrollBar.Visibility) { if (oldHScrollbarVisibility == ElementVisibility.Visible) { desiredSize.Height -= hscrollbarDesiredSize.Height; availableSize.Height += hscrollbarDesiredSize.Height; } else { hscrollBar.Measure(availableSize); desiredSize.Height += hscrollBar.DesiredSize.Height; availableSize.Height -= hscrollBar.DesiredSize.Height; } doubleMeasure = true; } if (oldVScrollbarVisibility != this.vscrollBar.Visibility) { if (oldVScrollbarVisibility == ElementVisibility.Visible) { desiredSize.Width -= vscrollbarDesiredSize.Width; availableSize.Width += vscrollbarDesiredSize.Width; } else { vscrollBar.Measure(availableSize); desiredSize.Width += vscrollBar.DesiredSize.Width; availableSize.Width -= vscrollBar.DesiredSize.Width; } doubleMeasure = true; } if (doubleMeasure) { viewElement.Measure(availableSize); } desiredSize.Width += viewElement.DesiredSize.Width; desiredSize.Height += viewElement.DesiredSize.Height; return(desiredSize); }
private WaitUnit CreateAbsenceUnit(ElementVisibility visibility) { return new WaitUnit { Method = WaitMethod.Absence, Options = new SearchOptions { Timeout = TimeSpan.FromSeconds(AbsenceTimeout), RetryInterval = TimeSpan.FromSeconds(RetryInterval), Visibility = visibility, IsSafely = !ThrowOnAbsenceFailure } }; }