У меня есть DatagridView с источником данных, но мое представление данных рисует только 1 строку.
Мой код выглядит примерно так:
Объявление списка
List<Texture> LoadedTextures = new List<Texture>();
Объект источника данных Custum
public class Texture
{
public Image Image { get; set; }
public string Name { get; set; }
}
Метод добавления
private void LoadImage(string FileName)
{
FileInfo file = new FileInfo(FileName);
if (LoadedTextures.Count > 0 &&
LoadedTextures.Where(x => x.Name == file.Name).Count() > 0)
{
MessageBox.Show("Already a texture with that name", "error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Bitmap newImage = new Bitmap(CurrLevel.TileWidth, CurrLevel.TileHeight);
using (Graphics gr = Graphics.FromImage(newImage))
{
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(Image.FromFile(FileName),
new Rectangle(0, 0, CurrLevel.TileWidth, CurrLevel.TileWidth));
}
var text = new Texture
{
Image = (Image)newImage,
Name = file.Name
};
LoadedTextures.Add(text);
if(Tiles.DataSource == null)Tiles.DataSource = LoadedTextures;
}
При отладке я также заметил, что мой источник данных содержитзагруженные элементы, но представление данных только рисует 1 строку.
PS: я пытался, DataGridView.Refresh (), DataGridView.RefreshEdit (), каждый раз назначая источник данных при внесении изменений, но ничего из этого не помогло.