2

我正在使用 Silverlight Web 应用程序中的 XAML 文件。我正在使用 JavaScript 来操作 xaml 文件并响应事件。我在图表上有一个椭圆元素列表,当我单击其中一个时,椭圆的填充设置为另一种颜色,覆盖样式中的填充设置。

因此,在单击椭圆后,我实际上得到了这样的结果:

<Ellipse x:Name="g46" Style="{StaticResource GainValue}" Canvas.Top="136" Canvas.Left="766" MouseLeftButtonUp="onDotClicked" Fill="Red" />

现在,当我单击第二个椭圆时,我想重置单击的第一个椭圆的颜色。不幸的是,我不知道如何使用 Javascript 删除属于 Ellipse(或任何其他)元素的属性。将属性设置为 null 会为 Ellipse 分配一个空字符串,我已经经历了六种变体dot.removeAttribute('Fill'),但都dot['Fill'].remove没有成功。

我基本上对在 JavaScript 中用于操作 xaml 对象的语法一无所知。我找到了一些描述 DOM 语法等的参考页面,但没有任何内容与我可以在此处实际使用的语法相对应。

4

1 回答 1

2

您最好的选择可能是使用 jQuery 将 XAML 加载为 XML。

你可以做

var xamlDocument = getYourXaml(); // Implement this or replace with however you're getting the XAML
var xml = $(xamlDocument);
xml.removeAttr('Fill');

//If you need to save your XAML do it here, if it's part of the page it should just work.

更多信息:http ://api.jquery.com/jQuery.parseXML/

于 2012-05-22T16:57:05.717 回答