Как правильно добавить данные в мою коллекцию с помощью MVVM? - PullRequest
0 голосов
/ 30 ноября 2018

Итак, я создал сервис, который будет подключаться к моей базе данных и получать несколько прокси каждый раз здесь и там, так что он будет работать непрерывно, мне придется сделать его асинхронным или с фоновым работником, чтобы онне будет блокировать пользовательский интерфейс.

Однако я дошел до того, что настроил команду реле и хочу вызвать функцию, которая захватывает прокси.

У меня естьсоздал сервис, в котором есть функция, я еще не добавлял соединительные элементы и т. д., так что это в основном гипотетически, но вопрос все еще стоит.

public class ProxyDeliveryService
    {
        public ProxyDeliveryService()
        {

        }

        public Proxy GrabProxy()
        {
            //Do work..

            //Return the proxy
            return null;
        }
    }

Как добавить данные в мою коллекцию в моей модели представленияс хорошим подходом MVVM?Никаких синглетонов или чего-то в этом роде.Это здесь выдает ошибку, потому что ожидает делегата с параметром объекта.Action<object> и предикат, как и любой другой RelayCommand

public class ProxyContainerViewModel : ObservableObject
    {
        private ProxyDeliveryService pds = new ProxyDeliveryService();
        public ObservableCollection<Proxy> Proxies { get; set; } = new ObservableCollection<Proxy>();


        public RelayCommand Grabproxies { get; set; } = new RelayCommand(pds.GrabProxy(), true);

        public ProxyContainerViewModel()
        {

        }
    }

1 Ответ

0 голосов
/ 30 ноября 2018

Я думаю, вы слишком усложняете это.Что не так с:

public ICommand Grabproxies { get; set; } = new RelayCommand(CreateProxy, true);


private void CreateProxy(object param)
{
    Proxies.Add(pds.GrabProxy());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...