Exemplo n.º 1
0
        /// <summary>
        /// - Initializeng the delegates,
        /// - Adding a function to the map double click event, for adding a new sensor,
        /// - Binding the pushpins with the map
        /// </summary>
        /// <param name="sensorLogic"></param>
        /// <param name="addSensorDelegate"></param>
        /// <param name="modifySensorDelegate"></param>
        public MapPage(SensorLogic sensorLogic, Action <SensorData> addSensorDelegate, Action <ulong> modifySensorDelegate)
        {
            InitializeComponent();

            locationMap.MouseDoubleClick += AddSensorOnClick;

            ModifySensorDelegate = modifySensorDelegate;
            AddSensorDelegate    = addSensorDelegate;

            pushpins = sensorLogic.initializePins();

            Binding binding = new Binding();

            binding.Source = locationMap;
            binding.Path   = new PropertyPath("Heading");
            binding.Mode   = BindingMode.TwoWay;

            foreach (var pin in pushpins)
            {
                pin.SetBinding(Pushpin.HeadingProperty, binding);
                pin.MouseDown += ModifyPinClicked;
                locationMap.Children.Add(pin);
            }
        }