Я создаю веб-часть Silverlight. я просто хочу отобразить данные списка sharepoint в текстовом блоке, а также таблицу данных, потому что я планирую вернуть только один элемент из списка. Мне удалось получить желаемый результат в таблице данных, но я не уверен, как изменить свой код, чтобы я мог отображать свои данные в текстовом блоке.
я думал, что смогу просто написать
texblock1.text = projects;
но выдает ошибку.
вот код на моей главной странице xaml -------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.SharePoint.Client;
namespace something{
public class Project{
public string Title {get; set;}
}
public partial class MainPage : UserControl
{
public string SiteUrl { get; set; }
private ListItemCollection _projects;
//private Web _web = null;
//private string _lastErrorMessage = null;
public MainPage()
{
InitializeComponent();
ClientContext context = new ClientContext(ApplicationContext.Current.Url);
context.Load(context.Web);
List Projects = context.Web.Lists.GetByTitle("projects");
context.Load(Projects);
CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery();
string camlQueryXml = "<View><Query><Where><Eq><FieldRef Name=\"NameLast\" /><Value Type=\"Boolean\">1</Value></Eq></Where></Query></View>";
query.ViewXml = camlQueryXml;
_projects = Projects.GetItems(query);
context.Load(_projects);context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null);
}
private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args)
{
// This is not called on the UI thread.
Dispatcher.BeginInvoke(BindData);
}
private void BindData()
{
List<Project> projects = new List<Project>();
foreach (ListItem li in _projects)
{
projects.Add(new Project()
{
Title = li["Title"].ToString(),
});
}
dataGrid1.ItemsSource = projects; // must be on UI thread
}
}
}