我正在尝试获取< RowDefinitions>来自我的Xaml的元素,通过Javascript,所以我可以添加新的< RowDefinition>运行时的元素。
这样,如果用户输入数字' 20',则20< RowDefinition>元素将添加到< RowDefinitions>。
问题在于< RowDefinitions>没有x:Name的可能性。它只有x:uid。那么可以从Javascript中获取uid吗?我需要< RowDefinitions>元素这样或那样(但只能通过JS)。我需要添加< RowDefinition>它的元素。
有什么想法吗?
谢谢
答案 0 :(得分:0)
假设Javascript API
没有<RowDefinitions>
这样的元素,您将引用{1}元素的RowDefinitions
属性,该元素在Xaml中表示为Grid
。因此,您使用FindName查询<Grid.RowDefinitions>
,然后使用Grid
获取行定义的集合。让我们假设你有这个简单的Xaml开头: -
GetValue
因此,在您的Javascript中,您可以拥有以下代码: -
<Grid
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="rootGridLoaded" />
这将从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
来获取命名网格。然后循环添加集合中有20个FindName
个实例。