Member 13787083 Ответов: 1

2d массив в поле со списком


Я пытаюсь интегрировать свой 2d-массив (загруженный из внешнего файла) в поле со списком.
Хитрость заключается в том, чтобы добавить их индекс в поле со списком вместо их значения (в данном случае строки)

Например, у меня есть пищевой массив, а затем я представляю пользователю поле со списком строк и столбцов, в котором они могут выбрать, какой индекс (значение по умолчанию должно быть 0)

Что я уже пробовал:

FileStream excelFile = new FileStream(path, FileMode.Open, FileAccess.Read);
StreamReader stream = new StreamReader(excelFile);

while (!stream.EndOfStream)
{
    string line = stream.ReadLine();
    string[] parts = parts.Split(',');

    for (int i = 0; i < parts.Length; i++)
    {
        foodItems[foodCount, i] = parts[i];
    }
    foodCount++;

Wendelius

Какую технологию пользовательского интерфейса вы используете? Формы, ASP.Net, WPF, Xamarin...?

Member 13787083

WPF

1 Ответов

Рейтинг:
0

Wendelius

Почему бы не преобразовать данные в объекты, если привязка будет прямой?

Рассмотрим следующий пример:

public partial class MainWindow : Window {
   public MainWindow() {
      InitializeComponent();

      string[] items = new string[] { "One", "Two", "Three" };
      List<object> itemObjects = new List<object>();

      for (int counter = 0; counter < items.Length; counter++) {
         itemObjects.Add(new {
            Text = items[counter],
            Index = counter
         });
      }
      this.ArrayIndex.ItemsSource = itemObjects;

   }
}

И XAML
<Grid>
    <ComboBox x:Name="ArrayIndex" DisplayMemberPath="Index"/>
</Grid>