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}"
|
<map:MapItemsControl ItemsSource="{Binding Pushpins}"
|
||||||
SelectedItem="{Binding SelectedPushpin}"
|
SelectedItem="{Binding SelectedPushpin}"
|
||||||
SelectionMode="Multiple"
|
SelectionMode="Multiple"
|
||||||
|
SelectionChanged="MapItemsControlSelectionChanged"
|
||||||
DoubleTapped="MapItemsControlDoubleTapped">
|
DoubleTapped="MapItemsControlDoubleTapped">
|
||||||
<map:MapItemsControl.Styles>
|
<map:MapItemsControl.Styles>
|
||||||
<Style Selector="map|MapItem">
|
<Style Selector="map|MapItem">
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ using Avalonia.Media;
|
||||||
using MapControl;
|
using MapControl;
|
||||||
using MapControl.UiTools;
|
using MapControl.UiTools;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace SampleApplication
|
namespace SampleApplication
|
||||||
{
|
{
|
||||||
|
|
@ -72,6 +74,11 @@ namespace SampleApplication
|
||||||
|
|
||||||
partial void AddTestLayers();
|
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)
|
private void MapItemsControlDoubleTapped(object sender, TappedEventArgs e)
|
||||||
{
|
{
|
||||||
e.Handled = true; // prevent MapDoubleTapped
|
e.Handled = true; // prevent MapDoubleTapped
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace SampleApplication
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
selectedPushpin = value;
|
selectedPushpin = value;
|
||||||
Debug.WriteLine(selectedPushpin?.Name);
|
Debug.WriteLine("SelectedPushpin: " + (selectedPushpin?.Name ?? "None"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -177,6 +177,7 @@
|
||||||
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
|
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
|
||||||
SelectionMode="Multiple"
|
SelectionMode="Multiple"
|
||||||
LocationMemberPath="Location"
|
LocationMemberPath="Location"
|
||||||
|
SelectionChanged="MapItemsControlSelectionChanged"
|
||||||
DoubleTapped="MapItemsControlDoubleTapped"/>
|
DoubleTapped="MapItemsControlDoubleTapped"/>
|
||||||
|
|
||||||
<map:MapPath Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
|
<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;
|
||||||
using Microsoft.UI.Input;
|
using Microsoft.UI.Input;
|
||||||
using Microsoft.UI.Xaml;
|
using Microsoft.UI.Xaml;
|
||||||
|
using Microsoft.UI.Xaml.Controls;
|
||||||
using Microsoft.UI.Xaml.Input;
|
using Microsoft.UI.Xaml.Input;
|
||||||
using Microsoft.UI.Xaml.Media;
|
using Microsoft.UI.Xaml.Media;
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -82,6 +83,11 @@ namespace SampleApplication
|
||||||
|
|
||||||
partial void AddTestLayers();
|
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)
|
private void MapItemsControlDoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
|
||||||
{
|
{
|
||||||
e.Handled = true; // prevent MapDoubleTapped
|
e.Handled = true; // prevent MapDoubleTapped
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,8 @@
|
||||||
<map:MapItemsControl ItemContainerStyle="{StaticResource PushpinItemStyle}"
|
<map:MapItemsControl ItemContainerStyle="{StaticResource PushpinItemStyle}"
|
||||||
ItemsSource="{Binding Pushpins}"
|
ItemsSource="{Binding Pushpins}"
|
||||||
SelectedItem="{Binding SelectedPushpin}"
|
SelectedItem="{Binding SelectedPushpin}"
|
||||||
SelectionMode="Multiple"/>
|
SelectionMode="Multiple"
|
||||||
|
SelectionChanged="MapItemsControlSelectionChanged"/>
|
||||||
|
|
||||||
<map:Pushpin AutoCollapse="True" Location="65,-18" Content="Iceland"/>
|
<map:Pushpin AutoCollapse="True" Location="65,-18" Content="Iceland"/>
|
||||||
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>
|
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
|
||||||
|
|
@ -20,7 +21,7 @@ namespace SampleApplication
|
||||||
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
|
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
|
||||||
//TileImageLoader.Cache = new RedisCache(Options.Create(new RedisCacheOptions
|
//TileImageLoader.Cache = new RedisCache(Options.Create(new RedisCacheOptions
|
||||||
//{
|
//{
|
||||||
// Configuration = "localhost:6379",
|
// Configuration = "T400:6379",
|
||||||
// InstanceName = "MapTileCache/"
|
// InstanceName = "MapTileCache/"
|
||||||
//}));
|
//}));
|
||||||
|
|
||||||
|
|
@ -82,6 +83,11 @@ namespace SampleApplication
|
||||||
|
|
||||||
partial void AddTestLayers();
|
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)
|
private void ResetHeadingButtonClick(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
map.TargetHeading = 0d;
|
map.TargetHeading = 0d;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue