Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: mav от 03-10-2019, 02:05:42

Название: Получение выбранного слоя из WPF Combobox
Отправлено: mav от 03-10-2019, 02:05:42
Пытался прикрутить интерфейс WPF к автокаду и столкнулся со следующей проблемой:
Имеется список слоёв которой передаётся в WPF ComboBox. Выбираем из списка нужный слой и при нажатии на клавишу "Ок" значение выбранного элемента (имя слоя) должно передаться в переменную, но как не пытаюсь передается null. Как правильно присвоить переменной значение выбранного элемента?

Код - C# [Выбрать]
  1. private void Btn_Ok_Click(object sender, RoutedEventArgs e)
  2.         {
  3.             _data.selectedLayer = ComboboxLayers.Text;
  4.             this.DialogResult = true;
  5.             this.Close();
  6.         }
  7.  
  8. // В интернетах нашёл еще такой вариант, но при его использовании выдает ошибку что нельзя присвоить типу string тип ComboBoxItem
  9.  
  10. var layerItem = (ComboBoxItem)ComboboxLayers.SelectedItem;
  11. _data.selectedLayer =  layerItem.Content.ToString();
  12.  
Название: Re: Получение выбранного слоя из WPF Combobox
Отправлено: Александр Ривилис от 03-10-2019, 08:42:26
mav,
Приветствую на форуме!
1. Прочитай у меня в подписи правило форматирования кода на форуме и соблюдай его!
2. Создай тестовый проект и выложи его на форуме в zip-архиве.
Название: Re: Получение выбранного слоя из WPF Combobox
Отправлено: Дмитрий Загорулькин от 03-10-2019, 10:39:48
Вы пытаетесь работать с WPF по принципу других платформ, типа Windows Forms. Это неэффективно. Посмотрите как привязать данные к форме WPF, В интернете полно информации по теме.
Название: Re: Получение выбранного слоя из WPF Combobox
Отправлено: mav от 03-10-2019, 17:14:58
Александр, спасибо, учту в будущем. Вот сделал пример.

Дмитрий, я только только окунулся в изучение. Как лучший пример нашёл Ваш видеоурок на ютубе (правда он 2016 года может уже что-то и появилось новее, но гугл результатов не дал). По нему, собственно и работал. Вопрос именно про Combobox.
Название: Re: Получение выбранного слоя из WPF Combobox
Отправлено: Александр Ривилис от 03-10-2019, 21:46:22
mav,
1. Когда упаковываешь проект - выкидывай из него лишние файлы (каталоги bin и obj совершенно не нужны)
2. Я немного модифицировал твой код и он работает. Причина по которой он не работал - это то, что ты не получал в коде основной программы выбранное значение.
Название: Re: Получение выбранного слоя из WPF Combobox
Отправлено: mav от 04-10-2019, 19:09:58
Александр Ривилис, спасибо огромное