使用交换 Web 服务检索电子邮件并将其放入数据网格中
Retrieve email with exchange web services and put it in a datagrid
我用数据网格制作了 WPF 应用程序。我需要在我的数据网格中显示电子邮件的特定部分。喜欢日期、主题和发件人。
我正在使用交换 Web 服务来获取前 10 封邮件,这很有效。但我不知道从哪里开始获取这些特定部件。
这是我的 Datagrid 加载方法
private void DataGrid_Loaded(object sender, RoutedEventArgs e)
{
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
//service.Credentials = new NetworkCredential( "{Active Directory ID}", "{Password}", "{Domain Name}" );
service.AutodiscoverUrl("*****.****@**.nl");
FindItemsResults<Item> findResults = service.FindItems(
WellKnownFolderName.Inbox,
new ItemView(10));
foreach (Item item in findResults.Items)
URLGRID.ItemsSource = (item.Subject);
}
}
}
我需要向此方法添加什么才能获得显示日期、主题和电子邮件发件人的数据网格。还是我忘记了什么?
可能最简单的方法就是使用 LINQ,你可能在集合中有不同类型的项目(例如日历邀请等),因为你根本没有过滤它,但像这样的东西应该没问题
URLGRID.ItemsSource = findResults.Where(t => t is EmailMessage).Select(item => new { item.DateTimeReceived, ((EmailMessage)item).Sender.Name, item.Subject });
干杯
格伦
我用数据网格制作了 WPF 应用程序。我需要在我的数据网格中显示电子邮件的特定部分。喜欢日期、主题和发件人。
我正在使用交换 Web 服务来获取前 10 封邮件,这很有效。但我不知道从哪里开始获取这些特定部件。
这是我的 Datagrid 加载方法
private void DataGrid_Loaded(object sender, RoutedEventArgs e)
{
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
//service.Credentials = new NetworkCredential( "{Active Directory ID}", "{Password}", "{Domain Name}" );
service.AutodiscoverUrl("*****.****@**.nl");
FindItemsResults<Item> findResults = service.FindItems(
WellKnownFolderName.Inbox,
new ItemView(10));
foreach (Item item in findResults.Items)
URLGRID.ItemsSource = (item.Subject);
}
}
}
我需要向此方法添加什么才能获得显示日期、主题和电子邮件发件人的数据网格。还是我忘记了什么?
可能最简单的方法就是使用 LINQ,你可能在集合中有不同类型的项目(例如日历邀请等),因为你根本没有过滤它,但像这样的东西应该没问题
URLGRID.ItemsSource = findResults.Where(t => t is EmailMessage).Select(item => new { item.DateTimeReceived, ((EmailMessage)item).Sender.Name, item.Subject });
干杯 格伦