Silverlight & JS: получите имя или идентификатор пользователя <RowDefinitions>из XAML через Javascript - PullRequest
2 голосов
/ 22 июля 2011

Я пытаюсь получить элемент из моего Xaml через Javascript, чтобы я мог добавить новые элементы к нему во время выполнения.

Таким образом, если пользователь вводит число '20', тогда к будут добавлены 20 элементов. Проблема в том, что не имеетвозможность для х: имя.Он имеет только x: uid.Так можно ли было бы получить UID из Javascript?Мне нужен элемент так или иначе (но только через JS).Мне нужно добавить элементов к нему.

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 22 июля 2011

Предполагается, что Javascript API

Нет такого элемента, как <RowDefinitions>, который вы будете использовать для свойства RowDefinitions элемента Grid, который представлен в Xaml как <Grid.RowDefinitions>. Следовательно, вы используете FindName для получения Grid, а затем GetValue для получения набора определений строк. Предположим, у вас есть этот простой Xaml для начала: -

<Grid
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   Loaded="rootGridLoaded" />

Так что в вашем Javascript у вас может быть этот код: -

function rootGridLoaded(sender)
{
     var plugin = sender.getHost();
     var rowDefs = sender.GetValue("RowDefinitions");
     for (var i=0; i < 20; i++)
     {
         var rowDef = plugin.content.createFromXaml("<RowDefinition />");
         rowDefs.add(rowDef);
     }
}

Это позволит получить коллекцию RowDefinitions из Grid (которая в данном случае является отправителем, но вы так же легко использовали FindName для получения именованной сетки. Затем он циклически добавляет 20 RowDefintion экземпляров ot коллекция.

...