Чтобы внести изменения в переменную bindend для пользовательского интерфейса, вы должны сделать это внутри BeginInvokeOnMainThread
Примерно так:
private async Task AddNewExecute()
{
var key = Guid.NewGuid().ToString().Substring(0, 5);
await BlobCache.LocalMachine.InsertObject<TodoItem>(key, new TodoItem()
{
Id=key.Substring(0,2),Text="abc",Description="def" }, new TimeSpan(1, 0, 0));
Device.BeginInvokeOnMainThread (async () => {
var list = await BlobCache.LocalMachine.GetAllObjects<TodoItem>();
Items = new ObservableCollection<TodoItem>(list);
});
}
В этом как вы меняете переменную в потоке пользовательского интерфейса