Я работаю над проектом, который использует Caliburn micro в wpf C #.
Я нахожусь в процессе, я хочу переписать свой метод ReadMediaFile (), чтобы он отображал все файлы в папке вlist.
Мой метод выглядит так:
private void ReadMediaFile()
{
string result;
_movieviewmodel = new MoviesViewModel();
string[] filePaths = Directory.GetFiles(@"C:/Users/v80770/Desktop/Movies/");
foreach (var file in filePaths)
{
result = Path.GetFileName(file);
_movieviewmodel.MovieName = result;
}
AddItem(_movieviewmodel);
}
При отладке программы все файлы отображаются в filePaths, но в моем списке только один.
AddItemнаходится в классе TreeViewBase (я думаю, что он принадлежит к caliburn micro) и выглядит так:
public void AddItem(T item)
{
_dispatcher.SmartInvoke(() => Items.Add(item));
}
В моем списке просматриваются файлы фильмов, но моя привязка MediaUri в представлении привязана к определенномупуть к файлу, но я хочу, чтобы он менялся в зависимости от того, что я выбрал
Я попытался отредактировать привязку к этому:
string test = _movieviewmodel.MovieName;
MediaUri = new Uri(test);
Но только получить исключение "System.UriFormatException:'Неверный URI: невозможно определить формат URI.' '
Изображение Uri
Новый код Uri:
_movieviewmodel.MovieFilePath = @"C:/Users/v80770/Desktop/Movies/";
string test = _movieviewmodel.MovieFilePath;
MediaUri = new Uri(test + _movieviewmodel.MovieName);
Но он всегда показывает один и тот же фильм и мой _movieviewmodel.MovieName сделатьимя не меняется в зависимости от выбранного фильма, это всегда один и тот же фильм.