Станислав Макаров: немного не то вы вычитали, драйвер используется для захвата изображения для передачи, это немного другое, нежели взаимодействие с рабочим столом, я про то, что у него настройки и сам сервис в одном приложении.
Александр: Ну тот же RAdmin3, и настройка и сам сервис в одном сервисе реализовано. Сервисы давно не делал, все через планировщик и обычное приложение. Знаю просто еще несколько приложений, которые могут работать как сервисы + UI, и под всеми версиями, значит ничего сложного нет.
Почему нельзя взаимодействовать с UI? все можно, и причем нормально, просто не принято, просто в сервисе обычно добавляют регистрацию, удаление и все, и ничем он от обычного приложения не отличается, просто выполняется это приложение от имени пользователя SYSTEM. Видел много программ, чистильщиков системы, бэкаперов, которые именно устанавливаются как сервис, запускаются, делают работу, причем с UI и завершаются.
Я работаю с моделью через автоматически созданный DbContext. www.entityframeworktutorial.net/EntityFramework4.3... тут есть пример как добавить. А для редактирования использовать биндинги. Все поля оборачиваем в отдельный грид, даем имя и пишем
var client = new Client();
editGrid.DataContext = client;
сохраняем
using (var dbCtx = new Entities())
{
//Add Student object into Students DBset
dbCtx.Clients.Add(client);
// call SaveChanges method to save student into database
dbCtx.SaveChanges();
}
в Xaml пишем
......
.....
При изменении текста в textbox автоматически будет меняться нужное поле в объекте.
Binding Mode=TwoWay? привязка работает в обе стороны, те, при изменении свойства, меняется и сам привязанный объект, и при изменении объекта (если он вызывает NotifyPropertyChanged) меняется свойство.