我想在一個函數(比如一個事件)中創建一個WinRT對象(比如說一個文本塊)並將它添加到C++/CX中的一個頁面(比如在運行時設置其行和列號的網格)。可能嗎?如何在運行時在C++/CX中創建添加WinRT對象?
回答
只需在課堂上調用'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);
,以及如何設置的屬性? textBlock-> VerticalAlignment = Center不起作用。 – 2013-03-01 09:12:49
在代碼中,VerticalAlignment屬性的類型爲Windows :: UI :: Xaml :: VerticalAlignment。所以你需要使用該類型的枚舉來設置屬性。 C++名稱隱藏也會使這成爲一個問題,因爲頁面可能有自己的名爲VerticalAlignment的成員,所以您需要限定類型名稱。 'textBlock-> VerticalAlignment = Windows :: UI :: Xaml :: VerticalAlignment :: Center;' – 2013-03-01 21:24:36
對不起,我沒有資格在別的聲望投票,我肯定會這樣做 – 2013-03-03 14:11:05
- 1. 如何在運行時創建對象?
- 2. 在運行時創建對象
- 3. 在運行時創建對象
- 4. OpenGL ES在運行時創建對象
- 5. 在運行時創建對象
- 6. 創建對象運行時
- 7. Knockout在運行時添加子對象
- 8. 如何在.net中運行時創建對象
- 9. 如何在spring中創建birt運行時對象作爲singleton
- 10. 如何在運行時在expando上添加對象屬性?
- 11. 如何在將對象添加到矢量中時創建對象?
- 12. 如何在添加關聯的同時創建多個對象?
- 13. 如何在運行時創建指定類類型的對象?
- 14. 如何在運行時更改/創建rldc,reportViewer對象和dataSet?
- 15. 如何在運行時創建對象並移動它們?
- 16. 如何在運行時修改動態創建的UserControl對象
- 17. 如何使用GLES20添加對象以在運行時繪製?
- 18. 如何在運行時將屬性添加到對象?
- 19. C#:如何在運行時向對象添加屬性?
- 20. 如何在運行時向對象添加代碼? - Livecode
- 21. 在運行時在C#中創建自定義對象
- 22. 如何在WinRt中共享文本時添加新行
- 23. 如何在運行時在Grails中創建有效的域對象
- 24. 如何在創建對象時在after_filter中獲取對象ID?
- 25. 如何在運行時在Unity 3D中加載3D對象
- 26. 在PHP中,我如何創建並添加到對象?
- 27. 如何在運行時在javascript中添加/刪除屬性對象
- 28. 如何在運行時在java中創建新添加的類的實例
- 29. Spring運行時對象/ bean的創建
- 30. 如何在WinRT中創建Word文檔
我不明白爲什麼這個問題導致減少的聲譽 – 2013-02-28 16:47:19