您的位置:首页 > 其它

silverlight的Button控件补完设计--silverlight(银光)学习(2)

2008-01-26 10:33 375 查看
第一篇文章里设计了一个Button按钮,比较让人遗憾的是不能显示中文,这个涉及到字体版权问题。我想微软也怕像"暴雪"公司的WOW被"方正"告侵权一样。网上有几种解决方案,有下载字体的,有在WORD里设计字体的。这个不在我讨论的范围内,我只想把Button 加上点击事件就行了。至于支持中文的问题,我想等正式版发布了早就解决了。

在asp.net里按钮都有Click事件,那么在xaml界面里,怎么触发鼠标点击事件呢?其实在xaml里正对鼠标有

MouseEnter MouseLeave MouseLeftButtonDown MouseLeftButtonUp 事件

我们在鼠标的MouseLeftButtonUp 事件触发的时候就调用我们自己写的事件就可以实现鼠标左键点击事件了。

代码片段如下:




public event EventHandler Click;




// 触发点击事件


protected void RaiseClick()






{


if (Click != null)






{


Click(this, null);


}


}





void actControl_MouseLeftButtonUp(object sender, MouseEventArgs e)






{


ReleaseMouseCapture();


RaiseClick();


}

这样我们就给按钮控件加上Click事件。

我们回到上一篇给出的wowmovie项目,在page.xmal.cs里面加上如下代码:


public void Page_Loaded(object o, EventArgs e)






{


double top = 100;





double left = 20;




ButtonControl txtbox = new ButtonControl();




txtbox.ButtonText = "Hello!";




txtbox.SetValue<double>(Canvas.TopProperty, top);




txtbox.SetValue<double>(Canvas.LeftProperty, left);




txtbox.Click += new EventHandler(txtbox_Click);




this.Children.Add(txtbox);




}




void txtbox_Click(object sender, EventArgs e)






{


SilverControls.txtBoxControl bt = sender as SilverControls.txtBoxControl ;




bt.ButtonText = "You Click Me";


}

效果如下:


点击之后变成

这个样子。



本文版权属于www.80back.com,williams所有,转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: