В настоящее время у меня есть класс, который получает и отправляет канал XML с использованием Linq to XML в ListBox на моей странице XAML. Я взял это из учебника, и мне было интересно, смогу ли я заставить его появиться в центре?
Моя идея состоит в том, чтобы загрузить канал и создать сводную страницу только в фоновом коде для каждого элемента (что-то вроде каждого элемента в моих данных, создать новый сводный элемент с другим содержимым)
Возможно ли это?
В настоящее время я получаю данные в ListBox, связывая загрузку и используя "TextBlock Text =" {Binding Id} "/>" в XAML, и загружая фид в фоновом коде следующим образом:
myFeed.LoadFeed(//name of the listbox that currently has to exist in XAML)
Вот мой код, который загружает канал XML и отправляет его в список
public class FeedItem
{
public string Id { set; get; }
public string Text { set; get; }
}
public class Feed
{
ListBox myContext;
public void LoadFeed(ListBox context)
{
myContext = context;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri("http://myDataSource"));
request.BeginGetResponse(new AsyncCallback(ReadCallback), request);
}
private static readonly XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
private void ReadCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request =
(HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response =
(HttpWebResponse)request.EndGetResponse(asynchronousResult);
XDocument doc = XDocument.Load(response.GetResponseStream());
List<FeedItem> feedItems = (from question in doc.Descendants(m + "properties")
select new FeedItem()
{
Id = question.Descendants().ToList()[0].Value,
Text = question.Descendants().ToList()[1].Value
}).ToList();
myContext.Dispatcher.BeginInvoke(() => { myContext.ItemsSource = feedItems; });
}
}
Что можно использовать для хранения данных, чтобы они могли быть в центре внимания?
Как мне разобрать ответ за элементом в новую точку?