使用c#实例化XAML元素

本文关键字:元素 XAML 实例化 使用 | 更新日期: 2023-09-27 18:01:27

我想在我的windows手机上做点什么,我一直在谷歌"实例化c#中的UIElement",但我似乎找不到任何可以帮助我的东西。

我想做的是:-

1)用户按下按钮

2)我的程序将实例化一个新的Grid/Stackpanel,其中包含一些Textblock。

有我可以参考的链接吗?

使用c#实例化XAML元素

首先,您需要为按钮添加一个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);
        }