fixed #272
This commit is contained in:
1 parent
dc897f3a72
commit
9aefdce97d
2 files changed
+21
-19
No files matched your search
@@ -224,11 +224,7 @@ namespace HandyControl.Controls
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IsTabFillEnabled)
|
UpdateOverflowButton();
|
||||||
{
|
|
||||||
_itemShowCount = (int)(ActualWidth / TabItemWidth);
|
|
||||||
_buttonOverflow?.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsInternalAction)
|
if (IsInternalAction)
|
||||||
{
|
{
|
||||||
@@ -292,15 +288,6 @@ namespace HandyControl.Controls
|
|||||||
|
|
||||||
if (_buttonOverflow != null)
|
if (_buttonOverflow != null)
|
||||||
{
|
{
|
||||||
if (ItemsSource != null)
|
|
||||||
{
|
|
||||||
Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
|
|
||||||
}
|
|
||||||
|
|
||||||
var size = DesiredSize;
|
|
||||||
_itemShowCount = (int)(size.Width / TabItemWidth);
|
|
||||||
_buttonOverflow.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount);
|
|
||||||
|
|
||||||
var menu = new ContextMenu
|
var menu = new ContextMenu
|
||||||
{
|
{
|
||||||
Placement = PlacementMode.Bottom,
|
Placement = PlacementMode.Bottom,
|
||||||
@@ -312,6 +299,21 @@ namespace HandyControl.Controls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
|
||||||
|
{
|
||||||
|
base.OnRenderSizeChanged(sizeInfo);
|
||||||
|
UpdateOverflowButton();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateOverflowButton()
|
||||||
|
{
|
||||||
|
if (!IsTabFillEnabled)
|
||||||
|
{
|
||||||
|
_itemShowCount = (int)(ActualWidth / TabItemWidth);
|
||||||
|
_buttonOverflow?.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void Menu_Closed(object sender, RoutedEventArgs e) => _buttonOverflow.IsChecked = false;
|
private void Menu_Closed(object sender, RoutedEventArgs e) => _buttonOverflow.IsChecked = false;
|
||||||
|
|
||||||
private void ButtonScrollRight_Click(object sender, RoutedEventArgs e) =>
|
private void ButtonScrollRight_Click(object sender, RoutedEventArgs e) =>
|
||||||
@@ -346,7 +348,7 @@ namespace HandyControl.Controls
|
|||||||
{
|
{
|
||||||
_buttonOverflow.IsChecked = false;
|
_buttonOverflow.IsChecked = false;
|
||||||
|
|
||||||
var list = GetActuaList();
|
var list = GetActualList();
|
||||||
if (list == null) return;
|
if (list == null) return;
|
||||||
|
|
||||||
var actualItem = ItemContainerGenerator.ItemFromContainer(item);
|
var actualItem = ItemContainerGenerator.ItemFromContainer(item);
|
||||||
@@ -391,7 +393,7 @@ namespace HandyControl.Controls
|
|||||||
{
|
{
|
||||||
var actualItem = currentItem != null ? ItemContainerGenerator.ItemFromContainer(currentItem) : null;
|
var actualItem = currentItem != null ? ItemContainerGenerator.ItemFromContainer(currentItem) : null;
|
||||||
|
|
||||||
var list = GetActuaList();
|
var list = GetActualList();
|
||||||
if (list == null) return;
|
if (list == null) return;
|
||||||
|
|
||||||
IsInternalAction = true;
|
IsInternalAction = true;
|
||||||
@@ -418,7 +420,7 @@ namespace HandyControl.Controls
|
|||||||
SetCurrentValue(SelectedIndexProperty, Items.Count == 0 ? -1 : 0);
|
SetCurrentValue(SelectedIndexProperty, Items.Count == 0 ? -1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal IList GetActuaList()
|
internal IList GetActualList()
|
||||||
{
|
{
|
||||||
IList list;
|
IList list;
|
||||||
if (ItemsSource != null)
|
if (ItemsSource != null)
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ namespace HandyControl.Controls
|
|||||||
parent.IsInternalAction = true;
|
parent.IsInternalAction = true;
|
||||||
RaiseEvent(new RoutedEventArgs(ClosedEvent, item));
|
RaiseEvent(new RoutedEventArgs(ClosedEvent, item));
|
||||||
|
|
||||||
var list = parent.GetActuaList();
|
var list = parent.GetActualList();
|
||||||
list?.Remove(item);
|
list?.Remove(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ namespace HandyControl.Controls
|
|||||||
RenderTransform = new TranslateTransform(resultX, 0);
|
RenderTransform = new TranslateTransform(resultX, 0);
|
||||||
if (index == -1) return;
|
if (index == -1) return;
|
||||||
|
|
||||||
var list = parent.GetActuaList();
|
var list = parent.GetActualList();
|
||||||
if (list == null) return;
|
if (list == null) return;
|
||||||
|
|
||||||
var item = parent.ItemContainerGenerator.ItemFromContainer(this);
|
var item = parent.ItemContainerGenerator.ItemFromContainer(this);
|
||||||
|
|||||||
Reference in new issue
Block a user