我想在一个函数(比如一个事件)中创建一个WinRT对象(比如一个文本块),然后将它添加到C ++ / CX中的一个页面(比如在运行时设置其行和列的所有网格)。有可能吗?
答案 0 :(得分:1)
只需像对待任何其他对象一样在类上调用“ref new”,并将其添加到网格的“Children”集合中。
要设置网格行和列,您需要通过调用网格上的SetRow / SetColumn来设置附加属性。
这一切都可以通过在xaml文件中命名网格(使用x:Name属性)来轻松完成,以便您可以在代码中按名称引用它。 XAML:
<Grid x:Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
代码隐藏:
auto textBlock = ref new TextBlock();
textBlock->Text = "this is my text";
myGrid->Children->Append(textBlock);
myGrid->SetRow(textBlock, 1);
myGrid->SetColumn(textBlock, 0);