WEB开发网
开发学院图形图像Flash 学Silverlight 2系列(20):如何在Silverlight中... 阅读

学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)

 2008-10-03 11:35:03 来源:WEB开发网   
核心提示: HtmlElement parent = HtmlPage.Document.GetElementById("parent");HtmlElement button = HtmlPage.Document.CreateElement("a");but

HtmlElement parent = HtmlPage.Document.GetElementById("parent");
HtmlElement button = HtmlPage.Document.CreateElement("a");
button.SetAttribute("innerText", "改变Silverlight中的颜色");
button.SetAttribute("href","#");
button.CssClass = "newstyle";
parent.AppendChild(button);

为a元素附加onclick事件,HtmlElement提供了AttachEvent方法用来附加事件,使用泛型的EventHandler,在a元素单单击时我们改变Silverlight中的矩形填充色和边框。

button.AttachEvent("onclick", new EventHandler<HtmlEventArgs>(button_Click));
void button_Click(object sender, HtmlEventArgs e)
{
  result.Stroke = new SolidColorBrush(Colors.Black);
  result.Fill = new SolidColorBrush(Colors.Green);
  result.StrokeThickness = 2;
}

完整的代码如下:

private void addButton_Click(object sender, RoutedEventArgs e)
{
  HtmlElement parent = HtmlPage.Document.GetElementById("parent");
  HtmlElement button = HtmlPage.Document.CreateElement("a");
  button.SetAttribute("innerText", "改变Silverlight中的颜色");
  button.SetAttribute("href","#");
  button.CssClass = "newstyle";
  parent.AppendChild(button);
  button.AttachEvent("onclick", new EventHandler<HtmlEventArgs>(button_Click));
}
void button_Click(object sender, HtmlEventArgs e)
{
  result.Stroke = new SolidColorBrush(Colors.Black);
  result.Fill = new SolidColorBrush(Colors.Green);
  result.StrokeThickness = 2;
}

运行一下看看效果如何,起始界面

学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)

添加新元素a

学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)

单击改变矩形的背景颜色

学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)

HtmlElement也提供了DetachEvent方法,可以取消注册事件。

结束语

本文简单介绍了如何在Silverlight中添加和移除DOM元素,以及为DOM元素添加、取消事件处理程序。

上一页  1 2 3 4 5 

Tags:Silverlight 系列 如何

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