如何在运行时从其XAML字符串添加WPF网格控件?

如何在运行时从其XAML字符串添加WPF网格控件?,wpf,xaml,wpf-controls,runtime,Wpf,Xaml,Wpf Controls,Runtime,假设我们有一个如下所示的网格XAML——例如,从方法返回的生成字符串 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width='*' /> <ColumnDefinition Width='*' /> </Grid.ColumnDefinitions> <TextBlock Text='id' Grid.Column='

假设我们有一个如下所示的网格XAML——例如,从方法返回的生成字符串

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width='*' />
        <ColumnDefinition Width='*' />
    </Grid.ColumnDefinitions>
    <TextBlock Text='id' Grid.Column='0'/>
    <Rectangle Fill='Black' Grid.Column='1' />
</Grid>
我使用的表格是:

<Window x:Class='AllRibbonBrushes.MainWindow'
        xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
        xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
        Title='MainWindow' Height='223' Width='533' 
        Loaded='Window_Loaded'>
    <ScrollViewer>
       <StackPanel Name="stackPanel">
          <!--The runtime grid need to be added here-->
       </StackPanel>
    </ScrollViewer>
</Window>
但我得到的错误是无法创建未知类型“Grid”。我通过添加按钮/文本块成功地做到了这一点,但未能添加带有嵌套控件的网格

如果你知道怎么做,请分享。欢迎所有帮助,非常感谢

添加xmlns='0http://schemas.microsoft.com/winfx/2006/xaml/presentation'到要加载的xaml中的第一个网格元素。这将wpf命名空间声明为xaml中的默认命名空间。Load然后可以找到什么类型的控件

<Grid xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width='*' />
        <ColumnDefinition Width='*' />
    </Grid.ColumnDefinitions>
    <TextBlock Text='id' Grid.Column='0'/>
    <Rectangle Fill='Black' Grid.Column='1' />
</Grid>
添加xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation'到要加载的xaml中的第一个网格元素。这将wpf命名空间声明为xaml中的默认命名空间。Load然后可以找到什么类型的控件

<Grid xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width='*' />
        <ColumnDefinition Width='*' />
    </Grid.ColumnDefinitions>
    <TextBlock Text='id' Grid.Column='0'/>
    <Rectangle Fill='Black' Grid.Column='1' />
</Grid>