SilverLight的Button控件补完设计

上一篇 / 下一篇  2007-10-08 16:35:00 / 个人分类:.NET

设计了一个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(Canvas.TopProperty, top);
  txtbox.SetValue(Canvas.LeftProperty, left);
  txtbox.Click += new EventHandler(txtbox_Click);
  this.Children.Add(txtbox);
  }
  void txtbox_Click(object sender, EventArgs e)
  {
  ButtonControl bt = sender as ButtonControl;
  bt.ButtonText = "You Click Me";
  }


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-15  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 1779
  • 日志数: 60
  • 建立时间: 2007-03-16
  • 更新时间: 2008-07-11

RSS订阅

Open Toolbar