diff --git a/samples/ControlCatalog/Pages/CarouselPage.paml b/samples/ControlCatalog/Pages/CarouselPage.paml
index 098f63244e..0b2b42073c 100644
--- a/samples/ControlCatalog/Pages/CarouselPage.paml
+++ b/samples/ControlCatalog/Pages/CarouselPage.paml
@@ -23,9 +23,9 @@
Transition
- None
- Slide
- Crossfade
+ None
+ Slide
+ Crossfade
diff --git a/src/Perspex.Controls/DropDown.cs b/src/Perspex.Controls/DropDown.cs
index 94e20fe88a..2616db1e01 100644
--- a/src/Perspex.Controls/DropDown.cs
+++ b/src/Perspex.Controls/DropDown.cs
@@ -80,7 +80,7 @@ namespace Perspex.Controls
protected override IItemContainerGenerator CreateItemContainerGenerator()
{
- return new ItemContainerGenerator(this, ListBoxItem.ContentProperty);
+ return new ItemContainerGenerator(this, DropDownItem.ContentProperty);
}
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e)
diff --git a/src/Perspex.Controls/DropDownItem.cs b/src/Perspex.Controls/DropDownItem.cs
new file mode 100644
index 0000000000..592e94dd71
--- /dev/null
+++ b/src/Perspex.Controls/DropDownItem.cs
@@ -0,0 +1,12 @@
+// Copyright (c) The Perspex Project. All rights reserved.
+// Licensed under the MIT license. See licence.md file in the project root for full license information.
+
+namespace Perspex.Controls
+{
+ ///
+ /// A selectable item in a .
+ ///
+ public class DropDownItem : ListBoxItem
+ {
+ }
+}
diff --git a/src/Perspex.Controls/Perspex.Controls.csproj b/src/Perspex.Controls/Perspex.Controls.csproj
index 2a9e3afc59..b563cdbe82 100644
--- a/src/Perspex.Controls/Perspex.Controls.csproj
+++ b/src/Perspex.Controls/Perspex.Controls.csproj
@@ -50,6 +50,7 @@
+
diff --git a/src/Perspex.Controls/Primitives/SelectingItemsControl.cs b/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
index 4a6c9e0060..3cc2edb0e2 100644
--- a/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
+++ b/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
@@ -245,8 +245,8 @@ namespace Perspex.Controls.Primitives
protected IControl GetContainerFromEventSource(IInteractive eventSource)
{
var item = ((IVisual)eventSource).GetSelfAndVisualAncestors()
- .OfType()
- .FirstOrDefault(x => x.LogicalParent == this);
+ .OfType()
+ .FirstOrDefault(x => x.LogicalParent == this && ItemContainerGenerator?.IndexFromContainer(x) != -1);
return item as IControl;
}
diff --git a/src/Perspex.Themes.Default/DefaultTheme.paml b/src/Perspex.Themes.Default/DefaultTheme.paml
index 4e9b5cda0e..e59d1b1713 100644
--- a/src/Perspex.Themes.Default/DefaultTheme.paml
+++ b/src/Perspex.Themes.Default/DefaultTheme.paml
@@ -5,6 +5,7 @@
+
diff --git a/src/Perspex.Themes.Default/DropDown.paml b/src/Perspex.Themes.Default/DropDown.paml
index e835a1cb24..0c4eb6f5e6 100644
--- a/src/Perspex.Themes.Default/DropDown.paml
+++ b/src/Perspex.Themes.Default/DropDown.paml
@@ -35,8 +35,7 @@
PlacementTarget="{TemplateBinding}"
StaysOpen="False">
+ BorderThickness="1">
@@ -46,7 +45,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj b/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
index cfc8544d16..aff93ac443 100644
--- a/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
+++ b/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
@@ -144,6 +144,9 @@
Designer
+
+ Designer
+
Designer