Search code examples
c#wpfxamlgridwrappanel

WPF creating grid from XAML in code-behind


I have an empty grid with no data but with all the columns in the XAML - is there way to create multiple of these grids in the code-behinds ie .cs file

I know how to create new grids in the code-behind but not existing grids...any ideas?

Thanks Ram


Solution

  • You can do that by making your "existing grid" a separate UserControl.

    First, you need to add a UserControl via [Add]->[User Control...]->[User Control (WPF)].

    Next, put your "existing grid" inside the added UserControl.

    YourExistingGridControl.xaml

    <UserControl x:Class="Your.Namespace.YourExistingGridControl">
      <Grid>
         ... YOUR EMPTY GRID WITH ALL THE COLUMNS, ETC. ...
      </Grid>
    </UserControl>
    

    Now, you can create as many instances of that "existing grid" as you like.

    YourCodeBehind.xaml.cs

    private void AddYourExistingGrid()
    {
      var myGrid = new Your.Namespace.YourExistingGridControl();
    
      yourWrapPanel.Children.Add(myGrid);
    }