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