protected virtual void OnCollapsed() { if (IsVisible && _isTemplateApplyPostponed) { OnApplyTemplate(); } if (!AutoResizeGrid) { _expandSite.SetCurrentValue(VisibilityProperty, Visibility.Collapsed); return; } if (!(Parent is Grid grid)) { return; } switch (ExpandDirection) { case ExpandDirection.Left: case ExpandDirection.Right: { var column = Grid.GetColumn(this); var columnDefinition = grid.ColumnDefinitions[column]; if (_previousMaxLength is null) { _previousMaxLength = columnDefinition.MaxWidth; } _previousActualLength = columnDefinition.ActualWidth; AnimateMaxWidth(columnDefinition, columnDefinition.ActualWidth, _headerSiteBorder.ActualWidth, ExpandDuration); break; } case ExpandDirection.Up: case ExpandDirection.Down: { var row = Grid.GetRow(this); var rowDefinition = grid.RowDefinitions[row]; if (_previousMaxLength is null) { _previousMaxLength = rowDefinition.MaxHeight; } _previousActualLength = rowDefinition.ActualHeight; AnimateMaxHeight(rowDefinition, rowDefinition.ActualHeight, _headerSiteBorder.ActualHeight, ExpandDuration); break; } } }
private void UpdateWaterMarkMargin() { if (_watermarkHost is null) { return; } var padding = Padding; var margin = new Thickness(padding.Left + 2d, padding.Top, padding.Right + 2d, padding.Bottom); _watermarkHost.SetCurrentValue(MarginProperty, margin); }
private void SetVisibiltyForTitleBarElements(bool visible) { var value = visible ? Visibility.Visible : Visibility.Collapsed; titleBar?.SetCurrentValue(VisibilityProperty, value); title?.SetCurrentValue(VisibilityProperty, value); SetVisibiltyForIcon(); leftWindowCommands?.SetValue(VisibilityProperty, value); rightWindowCommands?.SetValue(VisibilityProperty, value); windowButtons?.SetCurrentValue(VisibilityProperty, value); SetWindowEvents(); }
private void ClearEffect(ContentPresenter presenter) { if (presenter == null) { return; } if (ReferenceEquals(_effectBottomPresenter, presenter)) { _effectBottomPresenter.SetCurrentValue(EffectProperty, null); return; } presenter.SetCurrentValue(EffectProperty, null); ClearEffect(presenter.Content as ContentPresenter); }