Example #1
0
        private StackPanel CreateDoorControl(FloorDoorViewModel floorDoor)
        {
            var carBitmap = new BitmapImage(new Uri("pack://application:,,,/Images/device/door.png"));
            var carImg    = new Image();

            carImg.Source = carBitmap;
            carImg.Width  = 25;
            carImg.Height = 20;

            var panel = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            panel.Children.Add(carImg);
            panel.Children.Add(new TextBlock()
            {
                Text = floorDoor.DoorName, FontSize = 16
            });
            panel.DataContext = floorDoor;
            panel.PreviewMouseLeftButtonDown += Door_PreviewMouseLeftButtonDown;
            Canvas.SetLeft(panel, floorDoor.LocationX * MyCanvas.ActualWidth);
            Canvas.SetTop(panel, floorDoor.LocationY * MyCanvas.ActualHeight);
            return(panel);
        }
Example #2
0
        private StackPanel CreateDoorControl(FloorDoorViewModel floorDoor, Canvas canvas)
        {
            var carBitmap = new BitmapImage(new Uri("pack://application:,,,/Images/device/door.png"));
            var carImg    = new Image();

            carImg.Source = carBitmap;
            carImg.Width  = 25;
            carImg.Height = 20;

            var panel = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            panel.Children.Add(carImg);
            panel.Children.Add(new TextBlock()
            {
                Text = floorDoor.DoorName, FontSize = 16
            });
            panel.DataContext = floorDoor;

            var menu_open = new MenuItem()
            {
                Header = "开门", Tag = panel
            };
            var menu_close = new MenuItem()
            {
                Header = "关门", Tag = panel
            };
            var menu_keepOpen = new MenuItem()
            {
                Header = "常开门", Tag = panel
            };
            var menu_keepClose = new MenuItem()
            {
                Header = "常关门", Tag = panel
            };
            var menu_autoControl = new MenuItem()
            {
                Header = "自动控制", Tag = panel
            };
            var menu_cancleAlarm = new MenuItem()
            {
                Header = "取消报警", Tag = panel
            };
            var menu_viewStuffList = new MenuItem()
            {
                Header = "门内人员列表", Tag = panel
            };

            menu_open.Click          += (sender, args) => UpdateDoorState(sender, DoorControlOption.Open);
            menu_close.Click         += (sender, args) => UpdateDoorState(sender, DoorControlOption.Close);
            menu_keepOpen.Click      += (sender, args) => UpdateDoorState(sender, DoorControlOption.KeepOpen);
            menu_keepClose.Click     += (sender, args) => UpdateDoorState(sender, DoorControlOption.KeepClose);
            menu_autoControl.Click   += (sender, args) => UpdateDoorState(sender, DoorControlOption.Auto);
            menu_cancleAlarm.Click   += (sender, args) => UpdateDoorState(sender, DoorControlOption.CancelAlarm);
            menu_viewStuffList.Click += (sender, args) => ViewStuff(sender);

            panel.ContextMenu = new ContextMenu();
            panel.ContextMenu.Items.Add(menu_open);
            panel.ContextMenu.Items.Add(menu_close);
            panel.ContextMenu.Items.Add(menu_keepOpen);
            panel.ContextMenu.Items.Add(menu_keepClose);
            panel.ContextMenu.Items.Add(menu_autoControl);
            panel.ContextMenu.Items.Add(menu_cancleAlarm);
            panel.ContextMenu.Items.Add(menu_viewStuffList);

            Canvas.SetLeft(panel, floorDoor.LocationX * canvas.ActualWidth);
            Canvas.SetTop(panel, floorDoor.LocationY * canvas.ActualHeight);
            return(panel);
        }