У меня есть 5 изображений 500х500, и есть чекпоинты в виде кнопок. При инициализации приложения из файла загружается информация о том в на каком чекпоинте какие данные. На данный момент я уже сортирую эти данные, чтобы они вывдились. Но теперь мне надо выводить картинки вместо текста, как это можно сделать?
public partial class MainWindow : Window
{
List<string> checks = new List<string>();
List<string> names = new List<string>() { "Стенд питья", "Энергетические батончики", "Туалет", "Медпункт", "Информация" };
List<string> imagePaths = new List<string>();
List<BitmapImage> images = new List<BitmapImage>();
StringBuilder sb = new StringBuilder();
int k;
public MainWindow()
{
InitializeComponent();
string path = @"D:\Programs\C#\Zadanie2\Zadanie2\Checkpoints\data.txt";
string[] imagePath = Directory.GetFiles(@"D:\Programs\C#\Zadanie2\Zadanie2\Icons\");
string[] str = File.ReadAllLines(path);
foreach(var s in str)
{
checks.Add(s);
}
foreach(var dir in imagePath)
{
imagePaths.Add(dir);
}
}
private void check1_Click(object sender, RoutedEventArgs e)
{
images = new List<BitmapImage>();
sb.Clear();
string[] s;
k = 0;
List<string> list = new List<string>();
s = checks[k].Split();
for(int j = 0; j < s.Length; j++)
{
if (j == 0)
continue;
else
list.Add(s[j]);
}
for (int i = 0; i < list.Count; i++)
{
if (list[i] == "Yes")
{
sb.AppendLine(names[i]);
images[i].UriSource = new Uri(imagePaths[i]);
Uri uri = new Uri(imagePaths[i], UriKind.Absolute);
imgDynamic1.Source = new BitmapImage(uri);
}
}
resText.Text = sb.ToString();
}
Код для первого чекпоинта, остальные сделаны подобным образом
ItemsControlс подходящей панелью, собирайте коллекцию и вяжите шаблон элемента контрола к элементу коллекции. – aepot Jun 09 '22 at 16:45