使用C#实例化XAML UIElement

时间:2015-07-08 07:39:23

标签: c# xaml windows-phone-8.1

我想在我的Windows手机上制作一些东西,我一直在谷歌搜索“在C#中实例化UIElement”,但我似乎无法找到任何可以帮助我的东西..

我想做的是: -

1)用户按下按钮

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

我可以参考一下吗?

2 个答案:

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

        }