J'essaie de lier un dictionnaire en tant que DataSource à un ListBox. La solution dans How to bind a dicationary to a ListBox in winforms ne fonctionnera pas pour moi parce que mon dictionnaire est une variable de niveau de classe et pas une variable de niveau de méthode, donc je ne peux pas utiliser var. Lorsque vous mettez une variable de niveau classe dans un nouveau BindingSource (...) avec null comme second argument, j'obtiens une exception ArgumentNull. Comment lier un dictionnaire de niveau classe en tant que source de données pour une zone de liste?Dictionnaire C# en tant que ListBox.DataSource
Je n'aime pas la liste < KeyValuePair chaîne <, string>> travail autour becuase Où (...) et le premier (...) sont laids, complexe et confus par rapport à TryGetValue (.. .) et d'autres fonctionnalités du dictionnaire.
namespace myNamespace
{
public partial class myForm : Form
{
private Dictionary<string,string> myDictionay;
public myForm()
{
InitializeComponent();
myDictionay= new Dictionary<string, string>();
listBox1.DataSource = new BindingSource(myDictionay,null); // ArguemtNull exception
}
}
}
Etes-vous sûr que le dictionnaire de votre objet n'est pas nul? Nous pourrions avoir besoin de plus de code –
J'instancie le dictionnaire une ligne au-dessus de l'assignation DataSource - le dictionnaire n'est pas nul. –