У меня есть следующая сетка в моем WPF "Окно" (да, класс Окно);
<Grid Name="RequiredGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
В зависимости от того, что было передано в окно, я хочу добавлять элементы в эту сетку по одной строке за раз. А именно, я хочу добавить метку в левом столбце и текстовое поле в правом столбце. Я считаю, что знаю, как добавить новые строки для хранения новых данных, выполнив в коде следующее:
RequiredGrid.RowDefinitions.Add(new RowDefinition());
Проблема в том, что после того, как я создал ярлык и текстовое поле.
Label AttrLabel = new Label();
TextBox AttrTextBox = new TextBox();
Я действительно не знаю, как поместить его в окно, чтобы оно отображалось. Я видел некоторые темы, которые говорят, что-то вроде этого:
this.Controls.Add(AttrLabel);
this.Controls.Add(AttrTextBox);
Есть две проблемы с этим. 1) Мой класс Window не имеет этого свойства «Controls» или чего-либо еще. И 2) Это не поможет мне определить строку и столбец каждого элемента пользовательского интерфейса.
Теперь в XAML было бы легко указать строку и столбец примерно так:
<Label Grid.Column="0" Grid.Row="0"/>
Это побеждает "динамичность" моего намерения здесь. Кто-нибудь знает, как можно заставить динамически созданные элементы пользовательского интерфейса отображать в моем окне и указать, какие строки и столбцы будут отображаться в сетке.