Я делаю небольшое приложение для отображения информации, прочитанной из файла XML. Информация проста, содержит только информацию, идентификатор и оценку, которые она имеет, и она хранится в хранилище
static XmlJokeRepository()
{
XDocument loadedData = XDocument.Load("FactsXML.xml");
var data = from query in loadedData.Descendants("Joke")
select new Jokes
{
ID = (int)query.Element("ID"),
Rate = (int)query.Element("Rate"),
Info = (string)query.Element("Info"),
};
countryList = data.ToList();
}
public IList<Jokes> GetCountryList()
{
return countryList;
}
public Jokes GetCountryById(int id)
{
return countryList.FirstOrDefault(c => c.ID == id);
}
Где у меня есть класс, который поддерживает свойства и хранится в классе с именем Jokes.
public class Jokes
{
public int Rate
{
get;
set;
}
public int ID
{
get;
set;
}
public string Info
{
get;
set;
}
}
}
interface JokeRepository
{
IList<Jokes> GetCountryList();
Jokes GetCountryById(int id);
}
где я вызываю и загружаю этот XML и т. Д. На главной странице, используя эту
InitializeComponent ();
JokeRepository countryRepository = new XmlJokeRepository ();
DataContext = countryRepository.GetCountryById (1);
Но для того, чтобы это работало, мне нужно указать, какой из них я хочу отобразить, вместо того, чтобы просто возвращать список и управлять им оттуда, например, если пользователь нажимает кнопку Далее, чтобы получить следующую шутку или что-то. Я ищу более общий способ сделать это и получить следующую шутку, которую я хочу, например, сформировать список и выполнить простой GetNext ().
Кроме того, в XML у меня просто есть Шутка Связывания в текстовом блоке. Спасибо за помощь.