Demo.WindowsPresentation/CustomMarkers/CircleVisual.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Effects;
using Demo.WindowsPresentation.Controls;
using GMap.NET.WindowsPresentation;
namespace Demo.WindowsPresentation.CustomMarkers
{
public class CircleVisual : FrameworkElement
{
public readonly Popup Popup = new Popup();
public readonly TrolleyTooltip Tooltip = new TrolleyTooltip();
public readonly GMapMarker Marker;
public CircleVisual(GMapMarker m, Brush background)
{
Marker = m;
Marker.ZIndex = 100;
Popup.AllowsTransparency = true;
Popup.PlacementTarget = this;
Popup.Placement = PlacementMode.Mouse;
Popup.Child = Tooltip;
Popup.Child.Opacity = 0.777;
SizeChanged += new SizeChangedEventHandler(CircleVisual_SizeChanged);
MouseEnter += new System.Windows.Input.MouseEventHandler(CircleVisual_MouseEnter);
MouseLeave += new System.Windows.Input.MouseEventHandler(CircleVisual_MouseLeave);
Loaded += new RoutedEventHandler(OnLoaded);
Text = "?";
StrokeArrow.EndLineCap = PenLineCap.Triangle;
StrokeArrow.LineJoin = PenLineJoin.Round;
RenderTransform = scale;
Width = Height = 22;
FontSize = (Width/1.55);
Background = background;
Angle = null;
}
void CircleVisual_SizeChanged(object sender, SizeChangedEventArgs e)
{
Marker.Offset = new System.Windows.Point(-e.NewSize.Width/2, -e.NewSize.Height/2);
scale.CenterX = -Marker.Offset.X;
scale.CenterY = -Marker.Offset.Y;
}
void OnLoaded(object sender, RoutedEventArgs e)
{
UpdateVisual(true);
}
后面还有 273 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
