Я начинаю разрабатывать приложение на WPF, так что я совершенно новичок в проекте. Не люблю XAML и хочу делать все программно, поэтому вот вопрос, который я получил в две строки, первая с Ribbon Кнопка и для второго я хочу добавить столбцы, но только для второго ряда.
Когда я добавляю столбцы во второй строке, я получаю столбцы и в первой строке, и я этого не хочу. Пожалуйста, действуйте так, как будто вы не заметили это жестко закодированное int для rowCount и Colummn count.
public static class GridCustomClass
{
static GridLength gridLength = new GridLength(0, GridUnitType.Auto);
static GridLength gridLengthColumns = new GridLength(0, GridUnitType.Auto);
static GridLength gridLengthColumnsStar = new GridLength(0, GridUnitType.Star);
public static void AddFirstGridRows(Grid grid)
{
int rowsCount = 2;
for (int rows = 0; rows < rowsCount; rows++)
{
RowDefinition rowDefinition = new RowDefinition();
rowDefinition.Height = gridLength;
grid.RowDefinitions.Add(rowDefinition);
}
}
public static Grid AddGridColumnsForLeftPane(Grid grid)
{
for (int i = 0; i <3; i++)
{
ColumnDefinition columnDefinition = new ColumnDefinition();
switch(i)
{
case 1:
columnDefinition.Width = gridLengthColumnsStar;
break;
default:
columnDefinition.Width = gridLengthColumns;
break;
}
columnDefinition.SetValue(Grid.RowProperty, 1);
grid.ColumnDefinitions.Add(columnDefinition);
}
return grid;
}
}
public partial class ApplicationSettings : Window
{
Grid myGrid = new Grid();
Ribbon ribbon;
RibbonTab ribbonTab;
RibbonGroup ribbonGroup;
public ApplicationSettings()
{
InitializeComponent();
GridCustomClass.AddFirstGridRows(myGrid);
GridCustomClass.AddGridColumnsForLeftPane(myGrid);
ribbon = new Ribbon();
//Grid.SetRow(GridCustomClass.AddGridColumnsForLeftPane(myGrid), 1);
Button btn = new Button();
btn.SetValue(Grid.ColumnProperty, 0);
btn.SetValue(Grid.RowProperty,1);
//Grid.SetRow(btn, 1);
Grid.SetRow(ribbon, 0);
myGrid.Children.Add(ribbon);
myGrid.Children.Add(btn);
settingsWindow.Content = myGrid;
}
}
Я буду очень рад, если кто-то покажет мне, где я go не прав.