Относительный путь в UserControl

250
02 августа 2017, 18:25

Есть проблема при отображении UserCotrol'a в дизайнере, в конструкторе UserControl'a есть следующий код

var dir = new DirectoryInfo(@"AutoScenario");
LstScenario.Items.Clear();
foreach (FileInfo subDir in dir.GetFiles())
  {
   LstScenario.Items.Add(subDir.Name);
  }

программа работает без проблем но не отображает UserControl в дизайнере при этом пишет ошибку ссылаясь на неправильный путь

ошибка:
Could not find a part of the path 'C:\Windows\system32\AutoScenario'.
Answer 1

Ты можешь выполнить разные ветви кода в зависимости о того где исполняется код - в дизайнере или в рантайме.

if (DesignerProperties.GetIsInDesignMode(this))
{
  // В дизайнере
}
else
{
  // В рантайме
}

Ты можешь задать рабочий каталог для отладки в свойствах проекта. Или в рантайме, используя метод Directory.SetCurrentDirectory

Но тебе верно советуют - синхронные операции с файловой системой рано или поздно подвесят UI, что породит много негатива со стороны пользователей.

READ ALSO
Работа с массивом байтов C#

Работа с массивом байтов C#

Добрый день, собственно настало то время когда мне нужно работать с массивом байтов, а я в них ни тю, тю, изучал их мельком, собственно суть...

360
Таймер на 1 час в Unity3D

Таймер на 1 час в Unity3D

Привет! Помогите создать таймер на 1 час в юнити; нужно что бы через каждый час происходило действие

267
задача о размене монет (Coin change problem)

задача о размене монет (Coin change problem)

Здравствуйте, на Hackerrank решил задачу о размене монет с использованием мемоизацииОднако, мне моё решение, кажется не очень оптимальным

435
Параметры для Controller из Html.ActionLink

Параметры для Controller из Html.ActionLink

Всем привет, у меня на Home View генерится список ссылок:

206