Доступ к атрибутам элемента Xaml через Javascript - PullRequest
1 голос
/ 07 мая 2011

(Опять же, вопрос на Xaml. К сожалению, наш учитель не очень полезен ...)

У меня есть следующие элементы в файле xaml:

<TextBlock Style="{StaticResource TitleText}" x:Name="InformationGainTextBlock" />
<TextBlock Style="{StaticResource TitleText}" x:Name="NGramTextBlock" />
<TextBlock Style="{StaticResource TitleText}" x:Name="PositionTextBlock" />

У меня также есть 200 линейных элементов, содержащих данные, например:

<Line Name="Data0" Stroke="Maroon" StrokeThickness="1" X1="154" Y1="123" X2="154" Y2="549" MouseEnter="onMouseEnter" MouseLeave="onMouseLeave" Tag="0.0427409|e l i j k|1" />

Теперь идея заключается в том, что в функции onMouseEnter (в файле javascript) я извлекаю данные из атрибута «Tag» и помещаю их в виде текста в текстовые блоки. В этом примере:

0.0427409|e l i j k|1

Итак, я должен поместить '0.0427409' в блок InformationGainTextBlock, 'e l i j k' в NGramTextBlock и '1' в PositionTextBlock. Я также должен изменить цвет линии.

Как я могу это сделать? Я думаю, что у меня есть псевдокод о правильной, но не точной реализации:

onMouseEnter(sender, args) {

var data = sender.getAttribute("Tag").Text;
var array[] = data.Split("|");

sender.getElementByName("InformationGainTextBlock").text = array[0];
sender.getElementByName("NGramTextBlock").text = array[1];
sender.getElementByName("PositionTextBlock").text = array[2];
sender.getAttribute("Stroke").text = "Red";
}

Событие onMouseLeave сбрасывает все.

1 Ответ

2 голосов
/ 07 мая 2011

Примерно так должно работать:

function onMouseEnter(sender, mouseEventArgs) {
  var text = sender["Tag"];
  var array = new Array();
  array = text.split("|");
  sender["Stroke"] = "Red";
  sender.findName("InformationGainTextBlock").text = array[0];
  sender.findName("NGramTextBlock").text = array[1];
  sender.findName("PositionTextBlock").text = array[2];
}

То, что у вас было очень близко:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...