Skip to content

Commit

Permalink
Update CoverView
Browse files Browse the repository at this point in the history
  • Loading branch information
ghost1372 committed Mar 11, 2022
1 parent 49d6860 commit ffa1660
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace HandyControl.Controls
{
public class CoverView : RegularItemsControl
public partial class CoverView : RegularItemsControl
{
private readonly CoverViewContent _viewContent;

Expand All @@ -35,11 +35,9 @@ private void CoverViewItem_OnSelected(object sender, RoutedEventArgs e)
{
if (e.OriginalSource is CoverViewItem item)
{
item.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.TrueBox);
_selectedItem = item;
if (_viewContent != null)
if (_selectedItem == null)
{
item.IsSelected = true;
item.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.TrueBox);
_selectedItem = item;
if (_viewContent != null)
{
Expand All @@ -53,8 +51,8 @@ private void CoverViewItem_OnSelected(object sender, RoutedEventArgs e)

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)
{
Expand All @@ -65,29 +63,15 @@ private void CoverViewItem_OnSelected(object sender, RoutedEventArgs e)
return;
}

if (!Equals(_selectedItem, item))
{
_selectedItem.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.FalseBox);
item.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.TrueBox);
_selectedItem = item;
if (_viewContent != null)
{
_viewContent.Content = null;
_viewContent.ContentTemplate = null;
UpdateCoverViewContent(false);
}
_selectedItem.IsSelected = false;
_selectedItem.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.FalseBox);
_selectedItem = null;
}

if (_viewContent != null)
{
_viewContent.Content = null;
_viewContent.ContentTemplate = null;
UpdateCoverViewContent(false);
}
_selectedItem.SetCurrentValue(SelectableItem.IsSelectedProperty, ValueBoxes.FalseBox);
_selectedItem = null;
}
}

Expand Down Expand Up @@ -124,19 +108,6 @@ public Style CoverViewContentStyle
set => SetValue(CoverViewContentStyleProperty, value);
}



public bool ShowContent
{
get { return (bool)GetValue(ShowContentProperty); }
set { SetValue(ShowContentProperty, value); }
}

public static readonly DependencyProperty ShowContentProperty =
DependencyProperty.Register("ShowContent", typeof(bool), typeof(CoverView), new PropertyMetadata(true));



internal static readonly DependencyProperty GroupsProperty = DependencyProperty.Register(
"Groups", typeof(int), typeof(CoverView),
new FrameworkPropertyMetadata(ValueBoxes.Int5Box, FrameworkPropertyMetadataOptions.AffectsMeasure,
Expand Down Expand Up @@ -215,7 +186,7 @@ protected override void Refresh()
}

/// <summary>
/// Update content view
/// 更新内容视图
/// </summary>
private void UpdateCoverViewContent(bool isOpen)
{
Expand All @@ -242,7 +213,7 @@ private void UpdateCoverViewContent(bool isOpen)
}

/// <summary>
/// Update content view position
/// 更新内容视图位置
/// </summary>
private void UpdateCoverViewContentPosition()
{
Expand Down Expand Up @@ -384,7 +355,7 @@ private void InsertItem(int index, object item)
}

/// <summary>
/// Generate index number
/// 生成序号
/// </summary>
private void GenerateIndex()
{
Expand Down
16 changes: 16 additions & 0 deletions src/Shared/HandyControl_Shared/HandyControls/Controls/CoverView.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Windows;

namespace HandyControl.Controls
{
public partial class CoverView
{
public bool ShowContent
{
get { return (bool) GetValue(ShowContentProperty); }
set { SetValue(ShowContentProperty, value); }
}

public static readonly DependencyProperty ShowContentProperty =
DependencyProperty.Register("ShowContent", typeof(bool), typeof(CoverView), new PropertyMetadata(true));
}
}

0 comments on commit ffa1660

Please sign in to comment.