From c877b0a2e906b14cadd0432a5994fb95f9558de1 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Thu, 5 Sep 2019 11:01:58 -0700 Subject: [PATCH] Replace AppChromeAcrylicHostBackdropMediumLowBrush from OverflowTextBlock + improvements (#647) * replace acrylic brush by margin/padding * Modify how the control manages the focus * remove comment * Prevent deadlock --- src/Calculator/Controls/OverflowTextBlock.cpp | 158 ++++++++-------- src/Calculator/Controls/OverflowTextBlock.h | 26 +-- src/Calculator/Views/Calculator.xaml | 174 +++++++++--------- 3 files changed, 183 insertions(+), 175 deletions(-) diff --git a/src/Calculator/Controls/OverflowTextBlock.cpp b/src/Calculator/Controls/OverflowTextBlock.cpp index 2e020c9..7b4adc2 100644 --- a/src/Calculator/Controls/OverflowTextBlock.cpp +++ b/src/Calculator/Controls/OverflowTextBlock.cpp @@ -27,9 +27,12 @@ using namespace Windows::UI::Xaml::Navigation; DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, IsActive); DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, TextStyle); DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, TokensUpdated); -DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ColumnWidth); -DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ColumnHeight); -DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ScrollButtonFontSize); +DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ScrollButtonsWidth); +DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ScrollButtonsFontSize); +DEPENDENCY_PROPERTY_INITIALIZATION(OverflowTextBlock, ScrollButtonsPlacement); + +static constexpr unsigned int SCROLL_BUTTONS_APPROXIMATION_RANGE = 4; +static constexpr double SCROLL_RATIO = 0.7; void OverflowTextBlock::OnApplyTemplate() { @@ -44,35 +47,32 @@ void OverflowTextBlock::OnApplyTemplate() ref new EventHandler(this, &OverflowTextBlock::OnViewChanged); } + uiElement = GetTemplateChild("ExpressionContent"); + if (uiElement != nullptr) + { + m_expressionContent = safe_cast(uiElement); + } + uiElement = GetTemplateChild("ScrollLeft"); if (uiElement != nullptr) { m_scrollLeft = safe_cast