用 Silverlight 开发围棋在线对弈程序(二)MVC
2009-03-31 12:01:56 来源:WEB开发网再来看一下 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);
}
Tags:Silverlight 开发 围棋
编辑录入:爽爽 [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››开发一个自己的HTML在线编辑器(一)
更多精彩
赞助商链接