title: Which Control will be more appropriate to the output shown below?
body: <p>My project was working good before I made some changes in my database and my code.</p>
  
  <p><strong>Before Changes :</strong></p>
  
  <p><strong><em>Output :</em></strong></p>
  
  <pre><code>Tile1    Tile7    ..........    Tile(N-x)
  Tile2    Tile8                  Tile(N-x+1)
  Tile3    Tile9                  ....
  Tile4    Tile10                 ....
  Tile5    Tile11                 ....
  Tile6    Tile12                 Tile(N)
  </code></pre>
  
  <p><strong><em>Table in Database:</em></strong>       1-------       [Primary Key]
      Title           |
      Background      |
      Image           |
      ParentID *-------       [Foreign Key]</p>
  
  <p><strong><em>XAML :</em></strong></p>
  
  <pre><code>&lt;ListBox Grid.Row="1" x:Name="lst"
           ItemsSource="{Binding ChildrenMenus}" &gt;
  
      &lt;ListBox.ItemsPanel&gt;
          &lt;ItemsPanelTemplate&gt;
              &lt;WrapPanel IsItemsHost="True" Orientation="Vertical" MaxHeight="{Binding ElementName=lst, Path=ActualHeight}"/&gt;
          &lt;/ItemsPanelTemplate&gt;
      &lt;/ListBox.ItemsPanel&gt;
  
      &lt;ListBox.Resources&gt;
          &lt;Style TargetType="{x:Type ListBoxItem}"&gt;
              &lt;Setter Property="Width" Value="250" /&gt;
              &lt;Setter Property="Height" Value="125" /&gt;
              &lt;Setter Property="Margin" Value="2.5" /&gt;
              &lt;Setter Property="Padding" Value="2.5" /&gt;
              &lt;Setter Property="Background" Value="{Binding Background, Converter={StaticResource stringToBrushConverter}}" /&gt;
              &lt;Setter Property="Foreground" Value="White" /&gt;
              &lt;Setter Property="VerticalContentAlignment" Value="Bottom" /&gt;
              &lt;Style.Triggers&gt;
                  &lt;Trigger Property="IsSelected" Value="True"&gt;
                      &lt;Setter Property="Foreground" Value="{Binding Background, Converter ={StaticResource stringToBrushConverter}}" /&gt;
                  &lt;/Trigger&gt;
              &lt;/Style.Triggers&gt;
          &lt;/Style&gt;
      &lt;/ListBox.Resources&gt;
  
      &lt;ListBox.ItemTemplate&gt;
          &lt;DataTemplate&gt;
              &lt;StackPanel Orientation="Horizontal" Height="125" Width="250"&gt;
                  &lt;Path Data="{Binding Image}"  VerticalAlignment="Center" 
                        Stretch="Uniform" Fill="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
                        Width="68" Height="68" Margin="10" RenderTransformOrigin="0.5,0.5"&gt;
                      &lt;Path.RenderTransform&gt;
                          &lt;TransformGroup&gt;
                              &lt;TransformGroup.Children&gt;
                                  &lt;RotateTransform Angle="0" /&gt;
                                  &lt;ScaleTransform ScaleX="1" ScaleY="1" /&gt;
                              &lt;/TransformGroup.Children&gt;
                          &lt;/TransformGroup&gt;
                      &lt;/Path.RenderTransform&gt;
                  &lt;/Path&gt;
                  &lt;TextBlock Text="{Binding Title, Converter={StaticResource spaceToNewLineConverter}}" VerticalAlignment="Top" 
                             Margin="40,10,10,10" FontSize="24" Foreground="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"/&gt;
              &lt;/StackPanel&gt;
          &lt;/DataTemplate&gt;
      &lt;/ListBox.ItemTemplate&gt;
  
  &lt;/ListBox&gt;
  </code></pre>
  
  <p><strong>Currently:</strong></p>
  
  <p><strong><em>Required Output:</em></strong></p>
  
  <pre><code>Text1     Text2            Text3             ..........     Text(N)
  
  Tile1     Tile3  Tile7     Tile9    Tile13                  Tile(N-x)        .....
  Tile2     Tile4  Tile8     Tile10                           Tile(N-x + 1)    .....
            Tile5            Tile11                           ....             .....
            Tile6            Tile12                           ....             Tile(N)
  </code></pre>
  
  <p><strong><em>Changes in database:</em></strong></p>
  
  <p><img src="https://i.stack.imgur.com/0V7PN.jpg" alt="enter image description here"></p>
  
  <p>I have tried many changes in ViewModel and XAML files and now it got messed up. So, if I post those codes then also it will not be useful to anybody.</p>
  
  <p>I hope I have mentioned everything correctly in question.</p>
  
  <p><strong>Update</strong></p>
  
  <p>First of all I am sorry. My internet connection was down for the whole day. I have read your messages just now.</p>
  
  <p>Now, I have got something. I can get data from database in Design_Master_MenuItems. See the Image below:</p>
  
  <p><img src="https://i.stack.imgur.com/pJeu3.jpg" alt="enter image description here"></p>
  
  <p>But still Binding does not work correctly. I mean my ListBoxes inside ItemsControl are not being populated.</p>
  
  <p>Here is my current XAML:</p>
  
  <pre><code>&lt;ItemsControl ItemsSource="{Binding MenuCategories}" &gt;
  
      &lt;ItemsControl.ItemsPanel&gt;
          &lt;ItemsPanelTemplate&gt;
              &lt;StackPanel IsItemsHost="True" Orientation="Horizontal" /&gt;
          &lt;/ItemsPanelTemplate&gt;
      &lt;/ItemsControl.ItemsPanel&gt;
  
      &lt;ItemsControl.ItemTemplate&gt;
          &lt;DataTemplate&gt;
              &lt;Grid &gt;
                  &lt;Grid.RowDefinitions&gt;
                      &lt;RowDefinition Height="Auto" /&gt;
                      &lt;RowDefinition Height="*" /&gt;
                  &lt;/Grid.RowDefinitions&gt;
  
                  &lt;TextBlock Text="{Binding Title}" FontSize="30" /&gt;
  
                  &lt;ListBox Grid.Row="1" x:Name="lst"
                           ItemsSource="{Binding Design_Master_TileItems}" DisplayMemberPath="Title"&gt;
  
                  &lt;/ListBox&gt;
              &lt;/Grid&gt;
          &lt;/DataTemplate&gt;
      &lt;/ItemsControl.ItemTemplate&gt;
  &lt;/ItemsControl&gt;
  </code></pre>
  
  <p>Here is myViewModel :</p>
  
  <pre><code>public class MainWindowViewModel : ViewModelBase
  {
  
      public MainWindowViewModel()
      {
          using (Entities db = new Entities())
          {
              ParentMenus = new ObservableCollection&lt;Design_Master_ParentMenus&gt;(from d in db.Design_Master_ParentMenus select d);
  
              if (SelectedParent != null)
                  MenuCategories = new ObservableCollection&lt;Design_Master_Categories&gt;(from d in db.Design_Master_Categories
                                                                                    where d.ParentMenuID == SelectedParent.ParentMenuID 
                                                                                    select d);
          }
      }
  
      private ObservableCollection&lt;Design_Master_ParentMenus&gt; _parentMenus;
      public ObservableCollection&lt;Design_Master_ParentMenus&gt; ParentMenus
      {
          get
          {
              return _parentMenus;
          }
          set
          {
              _parentMenus = value;
              OnPropertyChanged("ParentMenus");
          }
      }
  
      private Design_Master_ParentMenus _selectedParent;
      public Design_Master_ParentMenus SelectedParent
      {
          get
          {
              return _selectedParent;
          }
          set
          {
              _selectedParent = value;
              OnPropertyChanged("SelectedParent");
  
              using (Entities db = new Entities())
              {
                  MenuCategories = new ObservableCollection&lt;Design_Master_Categories&gt;(from d in db.Design_Master_Categories
                                                                                    where d.ParentMenuID == SelectedParent.ParentMenuID
                                                                                    select d);
              }
          }
      }
  
      private ObservableCollection&lt;Design_Master_Categories&gt; _menuCategories;
      public ObservableCollection&lt;Design_Master_Categories&gt; MenuCategories
      {
          get
          {
              return _menuCategories;
          }
          set
          {
              _menuCategories = value;
              OnPropertyChanged("MenuCategories");
          }
      }
  
  }
  </code></pre>
  
  <p>Yes, and I will not be available for next 10 hours. If you find any mistake in the above code you may comment. Thanks for a big helping hand.</p>
  
  <p><strong>Update2</strong></p>
  
  <p>Yes now I find the binding error in Output window:</p>
  
  <pre><code>System.Windows.Data Error: 17 : Cannot get 'Design_Master_TileItem' value (type 'ICollection`1') from '' 
  (type 'Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A88A9017957C24').     
  BindingExpression:Path=Design_Master_TileItem; 
  DataItem='Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A88A9017957C24' 
  (HashCode=28842409); target element is 'ListBox' (Name=''); target property is 'ItemsSource' (type 
  'IEnumerable') TargetInvocationException:'System.Reflection.TargetInvocationException: Property accessor 
  'Design_Master_TileItem' on object
  'System.Data.Entity.DynamicProxies.Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A8
  8A9017957C24' threw the following exception:'The ObjectContext instance has been disposed and can no     
  longer be used for operations that require a connection.' ---&gt; System.ObjectDisposedException: The 
  ObjectContext instance has been disposed and can no longer be used for operations that require a 
  connection.
  
  System.Windows.Data Error: 17 : Cannot get 'Design_Master_TileItem' value (type 'ICollection`1') from '' 
  (type 'Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A88A9017957C24'). 
  BindingExpression:Path=Design_Master_TileItem; 
  DataItem='Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A88A9017957C24' 
  (HashCode=13006057); target element is 'ListBox' (Name=''); target property is 'ItemsSource' (type 
  'IEnumerable') TargetInvocationException:'System.Reflection.TargetInvocationException: Property accessor 
  'Design_Master_TileItem' on object 
  'System.Data.Entity.DynamicProxies.Design_Master_Catego_79D2EFE4D31EC6575261E40C340C9D078D37C022F94C70A5F8A8    
  8A9017957C24' threw the following exception:'The ObjectContext instance has been disposed and can no 
  longer be used for operations that require a connection.' ---&gt; System.ObjectDisposedException: The     
  ObjectContext instance has been disposed and can no longer be used for operations that require a       
  connection.
  </code></pre>