Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2315 → Rev 2316

/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerWP.xaml
0,0 → 1,19
<UserControl x:Class="MKLiveView.GMapCustomMarkers.CustomMarkerWP"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="33" Width="33">
<Grid Margin="0,0,10,10">
<Ellipse x:Name="ellipse" Stroke="Magenta" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" StrokeThickness="2">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#FF660066" Offset="1"/>
<GradientStop Color="#FFFD00CF"/>
</RadialGradientBrush>
</Ellipse.Fill>
<Ellipse.Effect>
<DropShadowEffect BlurRadius="9" Direction="40" Opacity="0.79" Color="#FF342E2E"/>
</Ellipse.Effect>
</Ellipse>
<TextBox x:Name="text" HorizontalAlignment="Center" Height="18" Margin="2,5,2,7" TextWrapping="Wrap" Text="P19" VerticalAlignment="Center" Width="26" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="#FFFFFEFE" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="11"/>
</Grid>
</UserControl>
/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerWP.xaml.cs
0,0 → 1,169
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using GMap.NET.WindowsPresentation;
using System.Diagnostics;
 
namespace MKLiveView.GMapCustomMarkers
{
public partial class CustomMarkerWP
{
//Popup Popup;
//Label Label;
GMapMarker Marker;
MainWindow MainWindow;
int _type = 0;
 
public CustomMarkerWP(MainWindow window, GMapMarker marker, string title, int type)
{
this.InitializeComponent();
 
this.MainWindow = window;
this.Marker = marker;
_type = type;
 
//Popup = new Popup();
//Label = new Label();
 
//this.Unloaded += new RoutedEventHandler(CustomMarkerWP_Unloaded);
//this.Loaded += new RoutedEventHandler(CustomMarkerWP_Loaded);
//this.SizeChanged += new SizeChangedEventHandler(CustomMarkerWP_SizeChanged);
//this.MouseEnter += new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave += new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove += new MouseEventHandler(CustomMarkerWP_MouseMove);
//this.MouseLeftButtonUp += new MouseButtonEventHandler(CustomMarkerWP_MouseLeftButtonUp);
//this.MouseLeftButtonDown += new MouseButtonEventHandler(CustomMarkerWP_MouseLeftButtonDown);
 
//Popup.Placement = PlacementMode.Mouse;
//{
// Label.Background = Brushes.Blue;
// Label.Foreground = Brushes.White;
// Label.BorderBrush = Brushes.WhiteSmoke;
// Label.BorderThickness = new Thickness(2);
// Label.Padding = new Thickness(5);
// Label.FontSize = 22;
// Label.Content = title;
//}
//Popup.Child = Label;
text.Text = title;
}
 
void CustomMarkerWP_Loaded(object sender, RoutedEventArgs e)
{
//if (icon.Source.CanFreeze)
//{
// icon.Source.Freeze();
//}
}
 
void CustomMarkerWP_Unloaded(object sender, RoutedEventArgs e)
{
//this.Unloaded -= new RoutedEventHandler(CustomMarkerWP_Unloaded);
//this.Loaded -= new RoutedEventHandler(CustomMarkerWP_Loaded);
//this.SizeChanged -= new SizeChangedEventHandler(CustomMarkerWP_SizeChanged);
//this.MouseEnter -= new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave -= new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove -= new MouseEventHandler(CustomMarkerWP_MouseMove);
//this.MouseLeftButtonUp -= new MouseButtonEventHandler(CustomMarkerWP_MouseLeftButtonUp);
//this.MouseLeftButtonDown -= new MouseButtonEventHandler(CustomMarkerWP_MouseLeftButtonDown);
 
Marker.Shape = null;
//icon.Source = null;
//icon = null;
//Popup = null;
//Label = null;
}
public string WPText
{
get { return text.Text; }
set { text.Text = value; }
}
public int WPType
{
get { return _type; }
set { _type = value; }
}
 
public void setColor(string sColor)
{
RadialGradientBrush rgb = new RadialGradientBrush();
GradientStop gs0 = new GradientStop(Color.FromArgb(0xFF, 0xFD, 0x00, 0x00),0), gs1 = new GradientStop(Color.FromArgb(0xFF, 0x66, 0x1B, 0x1B),1);
switch (sColor)
{
case "red":
ellipse.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0x3A, 0x00));
gs0 = new GradientStop(Color.FromArgb(0xFF, 0xFD, 0x00, 0x00),0);
gs1 = new GradientStop(Color.FromArgb(0xFF, 0x66, 0x1B, 0x1B),1);
break;
case "green":
ellipse.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0xFF, 0x00));
gs0 = new GradientStop(Color.FromArgb(0xFF, 0x00, 0xFD, 0x50),0);
gs1 = new GradientStop(Color.FromArgb(0xFF, 0x66, 0x2F, 0x1B),1);
break;
case "yellow":
ellipse.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0x00));
gs0 = new GradientStop(Color.FromArgb(0xFF, 0xFD, 0xFD, 0x00),0);
gs1 = new GradientStop(Color.FromArgb(0xFF, 0x66, 0x5F, 0x1B),1);
break;
case "blue":
ellipse.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0xFF, 0xFF));
gs0 = new GradientStop(Color.FromArgb(0xFF, 0x00, 0xDB, 0xFD),0);
gs1 = new GradientStop(Color.FromArgb(0xFF, 0x00, 0x66, 0x5C),1);
break;
case "pink":
ellipse.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0x00, 0xFF));
gs0 = new GradientStop(Color.FromArgb(0xFF, 0xFD, 0x00, 0xCF),0);
gs1 = new GradientStop(Color.FromArgb(0xFF, 0x66, 0x00, 0x66),1);
break;
}
rgb.GradientStops.Add(gs0);
rgb.GradientStops.Add(gs1);
ellipse.Fill = rgb;
}
 
void CustomMarkerWP_SizeChanged(object sender, SizeChangedEventArgs e)
{
// Marker.Offset = new Point(-e.NewSize.Width / 4, -e.NewSize.Height /2);
}
 
void CustomMarkerWP_MouseMove(object sender, MouseEventArgs e)
{
//if (e.LeftButton == MouseButtonState.Pressed && IsMouseCaptured)
//{
// Point p = e.GetPosition(MainWindow.MainMap);
// Marker.Position = MainWindow.MainMap.FromLocalToLatLng((int)(p.X), (int)(p.Y));
//}
}
 
void CustomMarkerWP_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
//if (!IsMouseCaptured)
//{
// Mouse.Capture(this);
//}
}
 
void CustomMarkerWP_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
//if (IsMouseCaptured)
//{
// Mouse.Capture(null);
//}
}
 
void MarkerControl_MouseLeave(object sender, MouseEventArgs e)
{
Marker.ZIndex -= 10000;
//Popup.IsOpen = false;
}
 
void MarkerControl_MouseEnter(object sender, MouseEventArgs e)
{
Marker.ZIndex += 10000;
//Popup.IsOpen = true;
}
 
}
}