public BlackModule(VtmDev dev, Position position, VtmDevCanvas canvas, GlobalGUIManager global) : base(dev, global) { this.global = global; VtmDevCanvas = canvas; Children.Add(new Label() { Content = position.ToString() }); this.position = position; //为所有此位置的模块创建menuItems foreach (var moduleInfo in from info in ModuleList where ModulePositionAttribute.GetPositionsByType(info.Item1).Contains(position) select info) { //moduleInfo中所有Type都是符合position的 MenuItem menuItem = new MenuItem() { Header = moduleInfo.Item2 }; menuItem.Click += AddItem; menuItem.Tag = moduleInfo.Item1; menuItems.Add(menuItem); } }
public static IDictionary <Position, BlackModule> NewBlackModules(VtmDevCanvas canvas, GlobalGUIManager global) { return(new Dictionary <Position, BlackModule> { { Position.A, new BlackModule(null, Position.A, canvas, global) }, { Position.B, new BlackModule(null, Position.B, canvas, global) }, { Position.C, new BlackModule(null, Position.C, canvas, global) }, { Position.D, new BlackModule(null, Position.D, canvas, global) } }); }