Home > Mobile >  MAUI codebehind binding a Entry Text to an dictionary value
MAUI codebehind binding a Entry Text to an dictionary value

Time:01-17

I would like to bind the property Text of an Entry to a Value of a Dictionary in the Code Behind of my XAML. Currently this works only conditionally. If I specify the value in the dictionary, then this neatly displayed in the property text. However, if I change the value in the Entry, then it is not changed in the Dictionary.

I create a new entry during the runtime. The value is read from the dictionary and also displayed correctly. Unfortunately it works only in one direction. Writing a new value in the dictionary is not done.

var entry = new Entry {
    Placeholder = item.Key,
    ClassId = item.Key,
    Text = (String)keyValuePairs.Where(k => k.Key == item.Key).First().Value
};

In this case: the keyValuePairs is a Observable Property in the viewModel

CodePudding user response:

Yes, path syntax is tricky and weird. But this should work.

entry.SetBinding(Entry.TextProperty, $"{nameof(_viewModel.ResultsKeyValues)}[{item.Key}]");

CodePudding user response:

this works for me

entry.SetBinding(Entry.TextProperty, "dict[MyKey]");
  • Related