Я хочу вызвать 3 списка в цикле for с переменными и получить что-то вроде:
for (int i = 1; i <= 3; i++)
{
Combobox MyList(i) = new Combobox();
MyList(i).Width = 120;
MyList(i).Height = 30;
etc...
}
Это не может быть сделано таким образом, поэтому я искал другие способы и обнаружил, что это можетбыть сделано с помощью словаря.Но тогда я не могу заполнить списки со значениями (которые являются списками) моего словаря.
Я сделал что-то вроде этого:
namespace GenDet
{
public partial class NewDetail : Page
{
int Nbe = 0;
List<String> MyElements = new List<String>();
List<String> MyElement1 = new List<String>();
List<String> MyElement2 = new List<String>();
List<String> MyElement3 = new List<String>();
Dictionary<int, List<string>> MyDictionary = new Dictionary<int, List<string>>();
public NewDetail()
{
InitializeComponent();
MyDictionary.Add(1, MyElement1);
MyDictionary.Add(2, MyElement2);
MyDictionary.Add(3, MyElement3);
}
private void OnClick1(object sender, RoutedEventArgs e)
{
string MyValue = MyList.SelectedValue.ToString();
if (Nbe == 3)
{
MessageBox.Show("Max elements reached", "Alert", MessageBoxButton.OK, MessageBoxImage.Information);
} else
{
AddList(Nbe, MyValue, MyElements);
}
}
private void AddList (int Nbe, string MyValue, List<string> MyElements)
{
List<String> MyNewList = new List<String>();
if (Nbe==0 || (MyElements[Nbe-1] != MyValue && (MyElements[Nbe-1] == "Mur" || MyValue == "Mur")))
{
//String MyListName = "MyNewList" + Nbe.ToString();
MyElements.Add(MyValue);
Nbe += 1;
}
for (int i = 1; i <= Nbe; i++)
{
//MyComboBox[i] = MyDictionary value for key = i;
}
}
}
}