使用c#实例化XAML元素
本文关键字:元素 XAML 实例化 使用 | 更新日期: 2023-09-27 18:01:27
我想在我的windows手机上做点什么,我一直在谷歌"实例化c#中的UIElement",但我似乎找不到任何可以帮助我的东西。
我想做的是:-
1)用户按下按钮
2)我的程序将实例化一个新的Grid/Stackpanel,其中包含一些Textblock。
有我可以参考的链接吗?
首先,您需要为按钮添加一个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的存在是有原因的,接受它。
为你的容器命名:
<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);
}