diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemoCtl.xaml
index 89bbeefc..889109ad 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemoCtl.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemoCtl.xaml
@@ -9,7 +9,7 @@
-
+
diff --git a/src/Shared/HandyControl_Shared/Controls/Other/Carousel.cs b/src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs
similarity index 65%
rename from src/Shared/HandyControl_Shared/Controls/Other/Carousel.cs
rename to src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs
index 47ac493a..6ff7f180 100644
--- a/src/Shared/HandyControl_Shared/Controls/Other/Carousel.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
@@ -21,13 +22,11 @@ namespace HandyControl.Controls
[DefaultProperty("Items")]
[ContentProperty("Items")]
[TemplatePart(Name = ElementPanelPage, Type = typeof(Panel))]
- [TemplatePart(Name = ElementItemsControl, Type = typeof(ItemsPresenter))]
- public class Carousel : ListBox, IDisposable
+ public class Carousel : SimpleItemsControl, IDisposable
{
#region Constants
private const string ElementPanelPage = "PART_PanelPage";
- private const string ElementItemsControl = "PART_ItemsControl";
#endregion Constants
@@ -39,8 +38,6 @@ namespace HandyControl.Controls
private bool _appliedTemplate;
- private ItemsPresenter _itemsControl;
-
private int _pageIndex = -1;
private RadioButton _selectedButton;
@@ -49,6 +46,12 @@ namespace HandyControl.Controls
private readonly List _widthList = new List();
+ private readonly Dictionary