private void InitMapSurface(XElement args)
{
MapSurface = new QXMap();
MapSurface.Source = BitmapFrame.Create(new Uri(args.Attribute("Src").Value, UriKind.Relative));
MapSurface.Width_ = Convert.ToDouble(args.Attribute("Width").Value);
MapSurface.Height_ = Convert.ToDouble(args.Attribute("Height").Value);
MapSurface.X = Convert.ToDouble(args.Attribute("X").Value);
MapSurface.Y = Convert.ToDouble(args.Attribute("Y").Value);
Carrier.Children.Add(MapSurface);
}
遮罩、障礙物陣列同理載入。換地圖只需重新載入對應 Sign 節點;新增/修改地圖僅改 XML,客戶端熱更新替換配置文件即可 — 典型分層開發模式。
WPF 中 x:Name 與 Name 效果完全一致,屬重複設計。重構時審視所有屬性:是否重複?是否合理?是否未用卻殘留? 統統回爐重造。
原需監聽視窗尺寸變更手動更新 WindowCenterX/Y。重構後:
// 替換所有 WindowCenterX → ActualWidth/2
// 替換所有 WindowCenterY → ActualHeight/2
視窗拖曳、最大化、還原皆自動適配,零代碼維護 — 心有靈犀的得力助手。