如何在运行时在C ++ / CX中创建添加WinRT对象?

时间:2013-02-28 14:28:40

标签: c++-cx

我想在一个函数(比如一个事件)中创建一个WinRT对象(比如一个文本块),然后将它添加到C ++ / CX中的一个页面(比如在运行时设置其行和列的所有网格)。有可能吗?

1 个答案:

答案 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);