From 445bef02ceefc78c21ce0f392cc6b72c491ee598 Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Mon, 22 Jul 2019 22:55:46 +0800
Subject: [PATCH] fixed a bug of tabcontrol
---
.../Controls/TabControl/TabControl.cs | 9 +++++++++
.../HandyControl_Shared/Themes/Styles/TabControl.xaml | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs b/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs
index df114ca5..f94b6a71 100644
--- a/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs
+++ b/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs
@@ -15,6 +15,7 @@ namespace HandyControl.Controls
[TemplatePart(Name = OverflowScrollviewer, Type = typeof(ScrollViewer))]
[TemplatePart(Name = ScrollButtonLeft, Type = typeof(Button))]
[TemplatePart(Name = ScrollButtonRight, Type = typeof(Button))]
+ [TemplatePart(Name = HeaderBorder, Type = typeof(Border))]
public class TabControl : System.Windows.Controls.TabControl
{
private const string OverflowButtonKey = "PART_OverflowButton";
@@ -27,6 +28,8 @@ namespace HandyControl.Controls
private const string ScrollButtonRight = "PART_ScrollButtonRight";
+ private const string HeaderBorder = "PART_HeaderBorder";
+
private ContextMenuToggleButton _buttonOverflow;
private TabPanel _headerPanel;
@@ -37,6 +40,8 @@ namespace HandyControl.Controls
private Button _buttonScrollRight;
+ private Border _headerBorder;
+
///
/// 是否为内部操作
///
@@ -220,6 +225,9 @@ namespace HandyControl.Controls
item.TabPanel = _headerPanel;
}
}
+
+ _headerBorder?.InvalidateMeasure();
+
IsInternalAction = false;
}
@@ -248,6 +256,7 @@ namespace HandyControl.Controls
_scrollViewerOverflow = GetTemplateChild(OverflowScrollviewer) as ScrollViewer;
_buttonScrollLeft = GetTemplateChild(ScrollButtonLeft) as Button;
_buttonScrollRight = GetTemplateChild(ScrollButtonRight) as Button;
+ _headerBorder = GetTemplateChild(HeaderBorder) as Border;
if (_buttonScrollLeft != null) _buttonScrollLeft.Click += ButtonScrollLeft_Click;
if (_buttonScrollRight != null) _buttonScrollRight.Click += ButtonScrollRight_Click;
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/TabControl.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/TabControl.xaml
index f4668d98..dc715ab0 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/TabControl.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/TabControl.xaml
@@ -122,7 +122,7 @@
-
+