private void Init() { //初始化背板画图对象 var bp = ModelFactory <BackPlane> .CreateByName(_container.BackPlaneName); _boardViews = new PlaneVpx[bp.SlotsNum]; _bpView = new BackPlaneViewModel(bp, base._rect); _boardRects = _bpView.SlotRects; //初始化_boardViews foreach (var pair in _container.BoardNameDir) { var rect = _boardRects[pair.Key]; if (_container.IsContainBoard(pair.Value)) { _boardViews[pair.Key] = new BoardVpx(rect, pair.Value); } else { _boardViews[pair.Key] = new EmptySlotVpx(rect, pair.Value); } } //分配连接 _links = new Dictionary <ContainerLink, Point[]>(); foreach (var linkPair in _bpView.LinkDir) { BackPlaneLink link = linkPair.Key; _links.Add(new ContainerLink(link, IsValidLine(link)), linkPair.Value); } }