WEB开发网
开发学院图形图像Flash 用 Silverlight 开发围棋在线对弈程序(二)MVC 阅读

用 Silverlight 开发围棋在线对弈程序(二)MVC

 2009-03-31 12:01:56 来源:WEB开发网   
核心提示: 再来看一下 View 的构造函数,在其中,用 Silverlight 开发围棋在线对弈程序(二)MVC(2),我们对 Model 的一个事件进行了注册,这样,当 Model 中的数据有变化时,可以直接通知 UI 进行更新

再来看一下 View 的构造函数,在其中,我们对 Model 的一个事件进行了注册。这样,当 Model 中的数据有变化时,可以直接通知 UI 进行更新。

       public partial class WeiQiView : UserControl

       {

              WeiQiController _controller = null;

              WeiQiModel _model = null;

 

              public WeiQiView(WeiQiController controller, WeiQiModel model)

              {

                     _controller = controller;

                     _model = model;

 

                     // 订阅 model 的更新事件以获得 UI 更新的通知

                     _model.BoardUpdated += new EventHandler<BoardUpdateEventArgs>(_model_BoardUpdated);

              }

       }

而 View 在响应鼠标点击事件时,进行必要的坐标转换,然后将请求转发给 Controller 处理:

              // 棋盘上的鼠标点击事件

              void canvasBoard_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)

              {

                     var p = e.GetPosition(canvasBoard);

                    

                     // 转换绝对坐标为相对位置信息

                     Position pos;

 

                     pos.X = (int)Math.Round(p.X / cellSize);

                     pos.Y = (int)Math.Round(p.Y / cellSize);

 

                     // 调用 Controller

                     _controller.ClickOnBoard(pos);

              }

上一页  1 2 3 4  下一页

Tags:Silverlight 开发 围棋

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接