enhance: optimized CoverView

This commit is contained in:
NaBian committed 2022-03-10 21:23:34 +08:00
1 parent 508dfc0cf8
commit 12a01ac78e
7 files changed
+20 -20

No files matched your search

@@ -341,7 +341,7 @@ namespace HandyControl.Controls
"ShowSelectAllButton", typeof(bool), typeof(DataGridAttach), new PropertyMetadata(ValueBoxes.TrueBox));
public static void SetShowSelectAllButton(DependencyObject element, bool value)
=> element.SetValue(ShowSelectAllButtonProperty, value);
=> element.SetValue(ShowSelectAllButtonProperty, ValueBoxes.BooleanBox(value));
public static bool GetShowSelectAllButton(DependencyObject element)
=> (bool) element.GetValue(ShowSelectAllButtonProperty);
@@ -11,7 +11,7 @@ namespace HandyControl.Controls
"AutoHide", typeof(bool), typeof(ScrollViewerAttach), new FrameworkPropertyMetadata(ValueBoxes.TrueBox, FrameworkPropertyMetadataOptions.Inherits));
public static void SetAutoHide(DependencyObject element, bool value)
=> element.SetValue(AutoHideProperty, value);
=> element.SetValue(AutoHideProperty, ValueBoxes.BooleanBox(value));
public static bool GetAutoHide(DependencyObject element)
=> (bool) element.GetValue(AutoHideProperty);
@@ -35,7 +35,7 @@ namespace HandyControl.Controls
{
if (_selectedItem == null)
{
item.IsSelected = true;
item.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.TrueBox);
_selectedItem = item;
if (_viewContent != null)
{
@@ -49,8 +49,8 @@ namespace HandyControl.Controls
if (!Equals(_selectedItem, item))
{
_selectedItem.IsSelected = false;
item.IsSelected = true;
_selectedItem.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.FalseBox);
item.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.TrueBox);
_selectedItem = item;
if (_viewContent != null)
{
@@ -67,7 +67,7 @@ namespace HandyControl.Controls
_viewContent.ContentTemplate = null;
UpdateCoverViewContent(false);
}
_selectedItem.IsSelected = false;
_selectedItem.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.FalseBox);
_selectedItem = null;
}
}
@@ -218,6 +218,12 @@ namespace HandyControl.Controls
{
ItemsHost.Children.Remove(_viewContent);
}
if (_selectedItem == null)
{
return;
}
var total = _entryDic.Count + 1;
var totalRow = total / Groups + (total % Groups > 0 ? 1 : 0);
if (total <= Groups)
@@ -9,7 +9,7 @@ namespace HandyControl.Controls
{
[TemplatePart(Name = ElementTriangle, Type = typeof(FrameworkElement))]
[TemplatePart(Name = ElementContent, Type = typeof(FrameworkElement))]
internal class CoverViewContent : ContentControl
public class CoverViewContent : ContentControl
{
private const string ElementTriangle = "PART_Triangle";