diff --git a/HandyControl/Controls/Cover/CoverFlow/CoverFlow.cs b/HandyControl/Controls/Cover/CoverFlow/CoverFlow.cs
index 5cbdecaf..ffa3ff5f 100644
--- a/HandyControl/Controls/Cover/CoverFlow/CoverFlow.cs
+++ b/HandyControl/Controls/Cover/CoverFlow/CoverFlow.cs
@@ -38,8 +38,8 @@ namespace HandyControl.Controls
private static object CoercePageIndex(DependencyObject d, object baseValue)
{
- var ctl = (CoverFlow) d;
- var v = (int) baseValue;
+ var ctl = (CoverFlow)d;
+ var v = (int)baseValue;
if (v < 0)
{
@@ -54,7 +54,7 @@ namespace HandyControl.Controls
private static void OnPageIndexChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
- var ctl = (CoverFlow) d;
+ var ctl = (CoverFlow)d;
ctl.UpdateIndex((int)e.NewValue, (int)e.OldValue);
}
@@ -99,42 +99,17 @@ namespace HandyControl.Controls
///
private int _lastShowIndex;
- ///
- /// 在获取新的模板后是否需要更新项
- ///
- private bool _updateItems;
-
- private bool _isLoaded;
-
///
/// 跳转编号
///
private int _jumpToIndex = -1;
- public CoverFlow()
- {
- Loaded += (s, e) =>
- {
- if (_isLoaded) return;
- _isLoaded = true;
- if (_updateItems)
- {
- UpdateShowRange();
- _updateItems = false;
- }
- if (_jumpToIndex > 0)
- {
- PageIndex = _jumpToIndex;
- }
- };
- }
-
///
/// 页码
///
public int PageIndex
{
- get => (int) GetValue(PageIndexProperty);
+ get => (int)GetValue(PageIndexProperty);
internal set => SetValue(PageIndexProperty, value);
}
@@ -167,12 +142,13 @@ namespace HandyControl.Controls
_camera = GetTemplateChild(ElementCamera) as ProjectionCamera;
_visualParent = GetTemplateChild(ElementVisualParent) as ModelVisual3D;
- if (_isLoaded)
+ UpdateShowRange();
+ if (_jumpToIndex > 0)
{
- UpdateShowRange();
- _camera.Position = new Point3D(CoverFlowItem.Interval * PageIndex, _camera.Position.Y,
- _camera.Position.Z);
+ PageIndex = _jumpToIndex;
+ _jumpToIndex = -1;
}
+ _camera.Position = new Point3D(CoverFlowItem.Interval * PageIndex, _camera.Position.Y, _camera.Position.Z);
}
///
@@ -185,28 +161,19 @@ namespace HandyControl.Controls
{
_uriList.Add(_uriList.Count, uri);
}
- _updateItems = true;
}
///
/// 添加一项资源
///
///
- public void Add(string uriString)
- {
- _uriList.Add(_uriList.Count, new Uri(uriString));
- _updateItems = true;
- }
+ public void Add(string uriString) => _uriList.Add(_uriList.Count, new Uri(uriString));
///
/// 添加一项资源
///
///
- public void Add(Uri uri)
- {
- _uriList.Add(_uriList.Count, uri);
- _updateItems = true;
- }
+ public void Add(Uri uri) => _uriList.Add(_uriList.Count, uri);
///
/// 跳转
@@ -249,7 +216,7 @@ namespace HandyControl.Controls
private void Viewport3D_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
- var result = (RayMeshGeometry3DHitTestResult) VisualTreeHelper.HitTest(_viewport3D, e.GetPosition(_viewport3D));
+ var result = (RayMeshGeometry3DHitTestResult)VisualTreeHelper.HitTest(_viewport3D, e.GetPosition(_viewport3D));
if (result != null)
{
foreach (var item in _itemShowList.Values)