mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
MapItemsControl SelectionChanged handling in sample applications
This commit is contained in:
parent
f78e7e73c4
commit
70bc9b89ac
|
|
@ -19,6 +19,7 @@
|
|||
<map:MapItemsControl ItemsSource="{Binding Pushpins}"
|
||||
SelectedItem="{Binding SelectedPushpin}"
|
||||
SelectionMode="Multiple"
|
||||
SelectionChanged="MapItemsControlSelectionChanged"
|
||||
DoubleTapped="MapItemsControlDoubleTapped">
|
||||
<map:MapItemsControl.Styles>
|
||||
<Style Selector="map|MapItem">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ using Avalonia.Media;
|
|||
using MapControl;
|
||||
using MapControl.UiTools;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace SampleApplication
|
||||
{
|
||||
|
|
@ -72,6 +74,11 @@ namespace SampleApplication
|
|||
|
||||
partial void AddTestLayers();
|
||||
|
||||
private void MapItemsControlSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Debug.WriteLine("SelectedItems: " + string.Join(", ", ((MapItemsControl)sender).SelectedItems.OfType<PointItem>().Select(item => item.Name)));
|
||||
}
|
||||
|
||||
private void MapItemsControlDoubleTapped(object sender, TappedEventArgs e)
|
||||
{
|
||||
e.Handled = true; // prevent MapDoubleTapped
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace SampleApplication
|
|||
set
|
||||
{
|
||||
selectedPushpin = value;
|
||||
Debug.WriteLine(selectedPushpin?.Name);
|
||||
Debug.WriteLine("SelectedPushpin: " + (selectedPushpin?.Name ?? "None"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@
|
|||
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
|
||||
SelectionMode="Multiple"
|
||||
LocationMemberPath="Location"
|
||||
SelectionChanged="MapItemsControlSelectionChanged"
|
||||
DoubleTapped="MapItemsControlDoubleTapped"/>
|
||||
|
||||
<map:MapPath Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using MapControl.UiTools;
|
|||
using Microsoft.UI;
|
||||
using Microsoft.UI.Input;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Microsoft.UI.Xaml.Input;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
using System;
|
||||
|
|
@ -82,6 +83,11 @@ namespace SampleApplication
|
|||
|
||||
partial void AddTestLayers();
|
||||
|
||||
private void MapItemsControlSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Debug.WriteLine("SelectedItems: " + string.Join(", ", ((MapItemsControl)sender).SelectedItems.OfType<PointItem>().Select(item => item.Name)));
|
||||
}
|
||||
|
||||
private void MapItemsControlDoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
|
||||
{
|
||||
e.Handled = true; // prevent MapDoubleTapped
|
||||
|
|
|
|||
|
|
@ -137,7 +137,8 @@
|
|||
<map:MapItemsControl ItemContainerStyle="{StaticResource PushpinItemStyle}"
|
||||
ItemsSource="{Binding Pushpins}"
|
||||
SelectedItem="{Binding SelectedPushpin}"
|
||||
SelectionMode="Multiple"/>
|
||||
SelectionMode="Multiple"
|
||||
SelectionChanged="MapItemsControlSelectionChanged"/>
|
||||
|
||||
<map:Pushpin AutoCollapse="True" Location="65,-18" Content="Iceland"/>
|
||||
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System.Globalization;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
|
||||
|
|
@ -20,7 +21,7 @@ namespace SampleApplication
|
|||
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
|
||||
//TileImageLoader.Cache = new RedisCache(Options.Create(new RedisCacheOptions
|
||||
//{
|
||||
// Configuration = "localhost:6379",
|
||||
// Configuration = "T400:6379",
|
||||
// InstanceName = "MapTileCache/"
|
||||
//}));
|
||||
|
||||
|
|
@ -82,6 +83,11 @@ namespace SampleApplication
|
|||
|
||||
partial void AddTestLayers();
|
||||
|
||||
private void MapItemsControlSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Debug.WriteLine("SelectedItems: " + string.Join(", ", ((MapItemsControl)sender).SelectedItems.OfType<PointItem>().Select(item => item.Name)));
|
||||
}
|
||||
|
||||
private void ResetHeadingButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
map.TargetHeading = 0d;
|
||||
|
|
|
|||
Loading…
Reference in a new issue