Эххх.... заставили все-таки посмотреть))
Итак, первое: вот тут вы использовали using
using (MainWindow view = new MainWindow())
{
WindowInteropHelper helper = new WindowInteropHelper(view);
helper.Owner = proc.MainWindowHandle;
view.DataContext = vm;
view.Show();
}
А в коде окна написали вот так:
public void Dispose()
{
this.Close();
}
Таким образом вызывается окно и тут-же закрывается
![Веселый :D](https://adn-cis.org/forum/Smileys/default/cheesy.gif)
Поменял на ShowDialog() - смог хотя бы увидеть окно.
Далее: метод ваш вызывается и срабатывает. Единственное, что я поменял - заменил TaskDialog на MessageBox:
using (Transaction tr = new Transaction(doc))
{
tr.Start("TEST");
foreach (Element el in enumElements)
{
try
{
el.LookupParameter("Комментарии").Set("DASHOTAKOE");
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
tr.Commit();
}
Не знаю точно в чем взаимосвязь, но при использовании TaskDialog что-то шло не так. Но тут я могу ошибаться
Ну и самое главное - как вы хотели проверить работу, пытаясь записать в какой-то параметр TEST, которого скорее всего не существует? Еще и без проверки на null! Достаточно поставить один символ
? и сразу станет лучше:
el.LookupParameter("Комментарии")?.Set("DASHOTAKOE");
![](https://i.postimg.cc/VdBDSJ2T/2019-02-28-10-53-13-Set-Abs-Elevation-Microsoft-Visual-Studio.png)