我想在我的Windows手机上制作一些东西,我一直在谷歌搜索“在C#中实例化UIElement”,但我似乎无法找到任何可以帮助我的东西..
我想做的是: -
1)用户按下按钮
2)我的程序将实例化一个新的Grid / Stackpanel,其中包含一些Textblock。
我可以参考一下吗?
答案 0 :(得分:0)
首先,您需要在按钮中添加Click
事件。
<Button Click="DoSomethingAmazing" .../>
在您的C#代码中,您可以创建Grid
,然后添加TextBlock
。
private void DoSomethingAmazing(object sender, RoutedEventArgs e)
{
Grid grd = new Grid();
TextBlock txt = new TextBlock()
{
Text = "Wow!"
};
grd.Children.Add(txt);
//Add your grid to the window/page/usercontrol
this.AddChild(grd);
}
将孩子添加到父母的代码可能会有所不同,具体取决于您所使用的平台,但我认为您明白这一点。
话虽如此,你不应该在代码隐藏中实例化控件,而应该在XAML中声明它们,至少在你的情况下,使用Visibility
来显示/隐藏控件
XAML是有原因的,接受它。
答案 1 :(得分:0)
为容器命名:
<Grid x:Name="myGrid">
<Button Click="Button_Click"></Button>
</Grid>
然后在事件处理程序中写入例如:
private void Button_Click(object sender, RoutedEventArgs e)
{
Grid grid = new Grid();
myGrid.Children.Add(grid);
}