Я смотрел на это: http://code.msdn.microsoft.com/wpapps/Custom-LongList-Selector-bf8cb9ad и пытался включить в свое приложение. Однако, это немного запутывает, так как мои данные загружаются по-разному. Прямо сейчас, у меня есть две ошибки Лучший перегруженный метод соответствия для CustomKeyGroup < .ViewModels.SoundData> .GetSoundGroups (System.Collections.Generic.List < .ViewModels.SoundData>)»имеет некоторые недопустимые аргументыПользовательские списки переходов в Windows Phone
Аргумент 1: не может конвертировать из 'string' в 'System.Collections.Generic.List'
Ошибка в 'CustomKeyGroup.GetSoundGroups (mvm.Items);' от mainpage.cs. Я знаю, что вопросы - это проблема. Если вы посмотрите на ссылку, они загружают данные по-разному w/listmovie.add.
Я знаю, что что-то сильно прикручивается, но поскольку мои данные загружаются разными, им трудно заставить его работать правильно.
Id нравится иметь пользовательский jumplist с заголовками групп (Alpha, Bravo и т. Д.), Расположенный в моей SoundModel. Вот часть:
namespace T.ViewModels
{
public class SoundModel: BindableBase
{
public SoundGroup NewAdds { get; set; }
public SoundGroup Software { get; set; }
}
public bool IsDataLoaded { get; set; }
public void LoadData()
{
// Load data into the model
Software = CreateSoftwareGroup();
NewAdds = CreateNewAddsGroup();
IsDataLoaded = true;
}
private SoundGroup CreateNewAddsGroup()
{
SoundGroup data = new SoundGroup();
data.Title = "New";
string basePath = "assets/audio/newadds/";
data.Items.Add(new SoundData
{
Title = "Test1",
FilePath = basePath + "Test.mp3",
Groups = "Alpha"
});
data.Items.Add(new SoundData
{
Title = "Test2",
FilePath = basePath + "Test2.mp3",
Groups="Bravo"
});
data.Items.Add(new SoundData
{
Title = "Test3",
FilePath = basePath + "Test3.mp3",
Groups= "Zulu"
});
private SoundGroup CreateSoftwareGroup()
{
SoundGroup data = new SoundGroup();
data.Title = "Software";
string basePath = "assets/audio/Software/";
data.Items.Add(new SoundData
{
Title = "Test1",
FilePath = basePath + "Test.mp3",
Groups = "Alpha"
});
data.Items.Add(new SoundData
{
Title = "Test2",
FilePath = basePath + "Test2.mp3",
Groups="Bravo"
});
data.Items.Add(new SoundData
{
Title = "Test3",
FilePath = basePath + "Test3.mp3",
Groups= "Zulu"
});
Вот соответствующие mainpage.cs:
SoundData mvm = new SoundData();
this.LongList.ItemsSource = CustomKeyGroup<SoundData>.GetSoundGroups(mvm.Items);
SoundGroup:
{
public class SoundGroup
{
public SoundGroup()
{
Items = new List<SoundData>();
}
public List<SoundData> Items { get; set; }
public string Title { get; set; }
public string Groups { get; set; }
}
}
SoundData:
{
public class SoundData : ViewModelBase
{
public string Title { get; set; }
public string FilePath { get; set; }
public string Items { get; set; }
public string Groups { get; set; }
public RelayCommand<string> SaveSoundAsRingtone { get; set; }
private void ExecuteSaveSoundAsRingtone(string soundPath)
{
App.Current.RootVisual.Dispatcher.BeginInvoke(() =>
{
SaveRingtoneTask task = new SaveRingtoneTask();
task.Source = new Uri("appdata:/" + this.FilePath);
task.DisplayName = this.Title;
task.Show();
}
);
}
public SoundData()
{
SaveSoundAsRingtone = new RelayCommand<string>(ExecuteSaveSoundAsRingtone);
}
}
}
Извините, вы не можете упрекать вас, так как у меня пока нет достаточного количества репутации, но это было на месте. Ошибки исчезли, и теперь мне просто нужно настроить заголовки групп и шаблон jumplist. Спасибо, пуштрай! – user3556644
Это здорово, проблема решена. Вы можете принять этот ответ, даже если вы не можете голосовать. Счастливое кодирование :) – pushpraj