Selection in MapItemsControl

This commit is contained in:
ClemensF 2018-11-13 21:35:48 +01:00
parent ec13ed260d
commit d296600b9e
6 changed files with 194 additions and 17 deletions

View file

@ -157,6 +157,7 @@
<Compile Include="Map.UWP.cs" />
<Compile Include="MapBase.UWP.cs" />
<Compile Include="MapGraticule.UWP.cs" />
<Compile Include="MapItemsControl.UWP.cs" />
<Compile Include="MapOverlay.UWP.cs" />
<Compile Include="MapPanel.UWP.cs" />
<Compile Include="MapShape.UWP.cs" />

View file

@ -0,0 +1,44 @@
// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control
// © 2018 Clemens Fischer
// Licensed under the Microsoft Public License (Ms-PL)
using Windows.System;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
namespace MapControl
{
/// <summary>
/// Container class for an item in a MapItemsControl.
/// </summary>
public class MapItem : ListBoxItem
{
public MapItem()
{
DefaultStyleKey = typeof(MapItem);
MapPanel.InitMapElement(this);
}
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
e.Handled = true;
(ItemsControl.ItemsControlFromItemContainer(this) as MapItemsControl)?.MapItemClicked(
this, e.KeyModifiers.HasFlag(VirtualKeyModifiers.Control), e.KeyModifiers.HasFlag(VirtualKeyModifiers.Shift));
}
}
public partial class MapItemsControl
{
public MapItem MapItemFromItem(object item)
{
return (MapItem)ContainerFromItem(item);
}
public object ItemFromMapItem(MapItem mapItem)
{
return ItemFromContainer(mapItem);
}
}
}