Пример #1
0
        /// <summary>
        /// 移除面板中的信息
        /// </summary>
        private void RemoveDeviceInfo(IList items)
        {
            foreach (var item in items)
            {
                DeviveInfo deviveInfo = item as DeviveInfo;

                PortIsDevice portIsDevice = AppConfigInfos.PortDeviceList.PortevList.Find(p => p.PortName.Equals(deviveInfo.PortCode));
                if (portIsDevice != null)
                {
                    portIsDevice.IsDeviceInfo = false;
                }

                // 寻找在面板的位置编号
                PortPairInfo portInfo = AppConfigInfos.PortPairInfos.Find(p => p.PortCode.Equals(deviveInfo.PortCode));

                if (portInfo == null)
                {
                    return;
                }

                DeviceInfoItem deviceInfoItem = deviceControls.Find(p => p.Index.ToString().Equals(portInfo.Index));

                if (deviceInfoItem != null)
                {
                    deviceInfoItem.ClearData();
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 创建UI(以面板2边固定拉升中间空隙排版)
        /// </summary>
        private void CreateDeviceUI()
        {
            int row    = AppConfigInfos.AppStateInfos.FaceplateRow;
            int column = AppConfigInfos.AppStateInfos.FaceplateColumn;

            if (lasColumn == column && lastRow == row)
            {
                return;
            }



            lastRow   = row;
            lasColumn = column;

            deviceControls.Clear();
            canvasMain.Children.Clear();

            // 设置卡片的大小和空格
            int    itemWith    = 318;
            int    itemHeight  = 181;
            double spaceHeight = 0;
            double spaceWidth  = 0;

            canvasMain.Width = column * (itemWith + spaceWidth);

            canvasMain.Height = row * (itemHeight + spaceHeight);

            sv.HorizontalScrollBarVisibility = (column <= 4 && canvasMain.Width < my.ActualWidth) ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Auto;
            sv.VerticalScrollBarVisibility   = (row <= 5 && canvasMain.Height < my.ActualHeight) ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Auto;

            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < column; j++)
                {
                    int index = i * column + j + 1;

                    DeviceInfoItem deviceInfoItem = new DeviceInfoItem()
                    {
                        Index       = index.ToString(),
                        Width       = itemWith,
                        Height      = itemHeight,
                        IsFirstPort = index.ToString().Equals(AppConfigInfos.PortDeviceList.FirstPort)
                    };

                    deviceControls.Add(deviceInfoItem);

                    double left = (itemWith + spaceWidth) * j;
                    double top  = (itemHeight + spaceHeight) * i;

                    Canvas.SetLeft(deviceInfoItem, left);
                    Canvas.SetTop(deviceInfoItem, top);
                    canvasMain.Children.Add(deviceInfoItem);
                }
            }
        }