2012-05-22 3 views
2

Silverlight 웹 응용 프로그램에서 XAML 파일로 작업하고 있습니다. 저는 JavaScript를 사용하여 xaml 파일을 조작하고 이벤트에 응답합니다. 그래프에 Ellipse 엘리먼트 목록이 있습니다. 그 중 하나를 클릭하면 타원의 채우기가 다른 색상으로 설정되어 스타일의 채우기 세트를 덮어 씁니다.JavaScript의 XAML 요소에서 특성 제거

그래서 타원에 클릭 한 후 I 효과적으로이 같은 끝낼 :

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

을 지금은 두 번째 타원을 클릭하면, 나는 첫 번째 타원의 색 클릭을 재설정하고 싶습니다. 불행히도, 난 자바 스크립트를 사용하여 타원 (또는 다른) 요소에 속한 속성을 제거하는 방법에 대한 생각이 없습니다. 속성을 null로 설정하면 빈 문자열이 Ellipse에 할당되고 dot.removeAttribute('Fill')dot['Fill'].remove에 대한 변경 사항은 6 번 완료되었습니다.

저는 기본적으로 JavaScript에서 xaml 개체를 조작하는 데 사용해야하는 구문에 어둡습니다. DOM 구문 등을 설명하는 몇 개의 참조 페이지를 찾았지만 여기서 실제로 사용할 수있는 구문에는 해당하지 않습니다.

답변

2

아마 가장 좋은 방법은 jQuery를 사용하여 XML로 XAML을로드하는 것입니다.

당신은

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/

+0

것은 내가 기본 자바 스크립트에서이 작업을 수행하는 것이 불가능할 수도 있습니다 두려워했다. 이 해결 방법을 사용해 주셔서 감사합니다. 비록 프로젝트에서 사용할 수 없지만 사용이 허용되는 언어에 대해 비슷한 제한이있는 사람들은 매우 도움이 될 것입니다. Fill을 원래 값으로 간단하게 덮어 쓰는 것에 의지했습니다. 매우 익숙하지 만 작동합니다. – Lilienthal

관련 문제