Допустим, у нас есть сетка XAML, как показано ниже - например. сгенерированная строка, возвращенная методом.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width='*' />
<ColumnDefinition Width='*' />
</Grid.ColumnDefinitions>
<TextBlock Text='id' Grid.Column='0'/>
<Rectangle Fill='Black' Grid.Column='1' />
</Grid>
Я хочу создать такую сетку и добавить ее к стеку во время выполнения, коды должны быть такими же, как показано ниже.
XmlReader xr = XmlReader.Create(input: new StringReader(g.xaml));
var control = XamlReader.Load(xr) as Grid;
this.stackPanel.Children.Add(control);
Форма, которую я использую:
<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>
Но я получаю ошибку Cannot create unknow type 'Grid'
. Мне удалось сделать это, добавив кнопку / текстовый блок, но не удалось добавить сетку с вложенными элементами управления.
Если вы знаете, как это сделать, пожалуйста, поделитесь. Вся помощь приветствуется и очень ценится!