private UserControl_LevelLayoutData CreateLevelLayoutDataControl(UserControl_LevelLayoutData.DataType dataValueType)
 {
     UserControl_LevelLayoutData control = null;
     switch (dataValueType)
     {
         case UserControl_LevelLayoutData.DataType.String:
             control = new UserControl_StringData("New String Data", string.Empty);
             break;
         case UserControl_LevelLayoutData.DataType.Int:
             control = new UserControl_IntData("New Int Data", 0);
             break;
         case UserControl_LevelLayoutData.DataType.Double:
             control = new UserControl_DoubleData("New Double Data", 0.0);
             break;
         case UserControl_LevelLayoutData.DataType.Bool:
             control = new UserControl_BoolData("New Bool Data", false);
             break;
     }
     return control;
 }
 private void AddLevelLayoutDataControl(UserControl_LevelLayoutData userControl_levelLayoutData)
 {
     AddLevelLayoutDataControlGrid(userControl_levelLayoutData);
 }
 private void AddLevelLayoutDataControlGrid(UserControl_LevelLayoutData userControl_levelLayoutData)
 {
     Grid grid = new Grid();
     grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(100.0, GridUnitType.Star) });
     grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
     Button button_remove = new Button() { Content = "-" };
     button_remove.Click += (x, y) =>
     {
         var uc = userControl_levelLayoutData;
         var button = x as Button;
         if (x != null && x == button_remove)
         {
             m_grid_data.Children.Remove(grid);
             m_userControls_levelLayoutData.Remove(uc);
         }
     };
     grid.SetRowColumn(userControl_levelLayoutData, 0, 0);
     grid.SetRowColumn(button_remove, 0, 1);
     m_grid_data.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
     m_grid_data.SetRowColumn(grid, m_grid_data.RowDefinitions.Count - 1, 0);
     m_userControls_levelLayoutData.Add(userControl_levelLayoutData);
 }
 private void AddLevelLayoutDataControl(UserControl_LevelLayoutData.DataType dataValueType)
 {
     var userControl_levelLayoutData = CreateLevelLayoutDataControl(dataValueType);
     AddLevelLayoutDataControlGrid(userControl_levelLayoutData);
 }