学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");
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;
}
运行一下看看效果如何,起始界面
添加新元素a
单击改变矩形的背景颜色
HtmlElement也提供了DetachEvent方法,可以取消注册事件。
结束语
本文简单介绍了如何在Silverlight中添加和移除DOM元素,以及为DOM元素添加、取消事件处理程序。
Tags:Silverlight 系列 如何
编辑录入:爽爽 [复制链接] [打 印]赞助商链接