Ваша проблема - это объект, который вы пытаетесь связать. Вам нужно использовать GridLength
Например
GridLength test = new GridLength(3, GridUnitType.Star); // which is "3*"
Просто обновите вашу ViewModel, чтобы получить значение типа GridLength
Мы на самом деле только что реализовали тот же вид вещи.
Мы обрабатываем содержание электронных писем и продвигаем данные в к нашей CRM через веб-сервис. Мы используем c# с .net 3.5
Для обработки почты, мы пошли с IMAP. Существует несколько клиентских библиотек .NET по CodeProject. Я думаю, что мы использовали тот от LumiSoft.
Мы попробовали WebDav, но не имели большой удачи. Это оставило нас с Pop3 или IMAP. IMAP поддерживает папки, в которых мы нуждались, таким образом, мы пошли с этим. Я уверен, что было бы легко сделать то же самое с POP3, если Ваш сервер не поддерживает IMAP.
В основном мы соединяем наш Exchange Server каждый час и выпадающий любая новая электронная почта и обрабатываем их. До сих пор это работает хорошо.
Править: Мы также используем SharpMimeTools для вкладывания необработанных электронных писем к более применимому формату.
Существует много бесплатных клиентских реализаций POP3 для .NET.
Например: этот.
Существует довольно много опций, в случае, если у Вас есть сервисная шина к Вашему распоряжению, оно главным образом идет с pop3 адаптером.
Или можно использовать pop3 api (easymail от quiksoft, вполне хороший). Это также имеет большой продукт для обработки возвратов.
Прочитать все сообщения SMTP. Если Вы владеете mailserver, в зависимости от типа сервера там другие способы добраться до сообщений, иногда пользовательской Пчелы и плагинов или файловой системы. Вы размещаете свой собственный почтовый сервер? Какой mailserver Вы используете?
Если возможный я не выбрал бы для протокола POP, он имеет некоторые ограничения среди других вещей только как наличие одной папки, "получение/читать" сообщение удаляет сообщение из папки (что означает один процесс читать сообщения), и другие вещи. В зависимости от того, сколько писем необходимо проанализировать его, мог бы все еще работать на Вас. IMAP уже был бы улучшением.
С quiksoft компонентом IMAP:
//create a new IMAP4 object, connect
//to a IMAP4 server and login
IMAP4 imap = new IMAP4();
imap.Connect("mail.yourdomain.com");
imap.Login("mailbox", "password");
//select the inbox and download the envelopes
imap.SelectMailbox("Inbox");
EnvelopeCollection imapEnvelopes;
imapEnvelopes = imap.GetEnvelopes();
//loop through each message
//and output the subject
foreach (Envelope imapEnvelope in imapEnvelopes)
{
//write the subject out to the console
Console.WriteLine(imapEnvelope.Subject);
}
//close resources
imap.Logout();
Почтовый сервер IceWarp Merak был большим для этого. Это позволило нам установить специальный вид учетной записи, названной исполняемой учетной записью. Вы связываете .exe с адресом электронной почты и выбираете набор вещей отправить на командной строке. Когда электронное письмо послано на тот счет, оно исчерпывает исполняемый файл. .exe должен быть консольным приложением, и необходимо заботиться, который он не подвешивает и что не, но я думал, что это было идеальное решение.
Мы используем его для обработки статистики обработки от аналитики Google и спин возврата от других почтовых серверов.
Вы всегда можете сделать своими руками POP 3 класса POP - один из самых простых протоколов