powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
8 сообщений из 8, страница 1 из 1
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332142
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть проблемы:
есть TextBlock с некоторым значением.
есть ComboBox со списком значений
Код: c#
1.
2.
comboBox.DisplayMemberPath = "Name";
comboBox.SelectedValuePath = "id";


Я бы сделал Linq-запрос для поиска строки по Name и присвоения её в SelectedItem, но ни comboBox.ItemsSource, ни comboBox.Items не IQuerибл.

__________________________________________________________
Контекст задачи и трудности
Вообще, на самом деле, я делаю свой весьма специфичный грид MDTable:UserControl. Он содержит ячейки MDCell:UserControl

Все данные хранятся в отдельном классе VTable, который имеет "ячейки" VCell. Каждая ячейка MDCell:UserControl содержит локальное поле VCell - оттуда же берёт text для его отображения на компоненте на экране.

Каждая ячейка MDCell представляет собой - UserControl->Grid->TextBlock ("->" я обозначил вложенность)

Когда юзер тыкает по ячейке, то textblock удаляется и на его месте создаётся new ComboBox(), подгружаются в него данные,
и после этого хотелось бы как-то сделать так, чтобы в этом ComboBox был выбран тот элемент, который был в ныне удалённом TextBlock.
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332432
Doomplay998
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значение - это SelectedItem. В MVVM вы делаете модель представления, в которой есть список с нужными вам предметами - например,

Код: c#
1.
ObservableCollection<MyItem> MyItems;



- и конкретный выбранный предмет - например,

Код: c#
1.
MyItem SelectedItem;



В разметке привязываете коллекцию к комбобоксу через его свойство Source (точно не помню, как оно называется - может, ItemsSource), а выбранный предмет - к свойству SelectedItem этого комбобокса. При клике на предмет в комбобоксе свойству SelectedItem в модели представления автоматом будет присваиваться выбранный в комбобоксе предмет. Ну а далее просто читаете поле выбранного предмета - название там, или айди, или что вам нужно. Подробнее и более комплексный пример с исходным кодом - https://msdn.microsoft.com/en-us/magazine/dd419663.aspx?tduid=(5f0292bcb9b08c474fa095a23bccccd9)(256380)(2459594)(TnL5HPStwNw-UNRk_l4eE4dQHbR2Hwg58A)()
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332433
Doomplay998
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Doomplay998Ну а далее просто читаете поле выбранного предмета
Читаете в коде команды этой модели представления или ещё как.
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332437
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Doomplay998Подробнее и более комплексный пример с исходным кодом - https://msdn.microsoft.com/en-us/magazine/dd419663.aspx?tduid=(5f0292bcb9b08c474fa095a23bccccd9)(256380)(2459594)(TnL5HPStwNw-UNRk_l4eE4dQHbR2Hwg58A)()
вот эта страничка очень классная - думаю, после неё у меня отпадут вообще все вопросы
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332441
Doomplay998
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandDoomplay998Подробнее и более комплексный пример с исходным кодом - https://msdn.microsoft.com/en-us/magazine/dd419663.aspx?tduid=(5f0292bcb9b08c474fa095a23bccccd9)(256380)(2459594)(TnL5HPStwNw-UNRk_l4eE4dQHbR2Hwg58A)()
вот эта страничка очень классная - думаю, после неё у меня отпадут вообще все вопросы
Наивный )))
появится в разы больше
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332506
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Doomplay998Наивный )))
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39332865
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В статье в целом всё понятно и открыло мне на очень многое глаза, позволив глянуть на WPF совсем под другим углом.
Парадигма WinForms, конечно, и рядом не валялась.

Но
Doomplay998Наивный )))
... да, у меня возник вопрос. Из той области, из какой не ожидал - какого чрта эта мелкая демонстрационная программа так долго компилируется? Больше 5 минут!! Вернее, она даже не комилируется в это время - студия тупо зависает. Если ткнуть по интерфейсу VS, то возникает окно с предложением подождать.

Исходник здесь -
https://msdn.microsoft.com/en-us/magazine/msdnmag0209.aspx
вторая ссылка сверху.
Прямая ссылка
...
Рейтинг: 0 / 0
Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
    #39333015
Doomplay998
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,

не знаю. Когда я много лет назад на старой Студии проект из той статьи открывал - всё достаточно быстро компилировалось и работало. Там по ссылке проект-то, поди, для старой Студии (какой-нибудь 2008), а вы, наверное, в какой-нибудь 2015 открываете - накопилось несовместимостей.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как в ComboBox выбрать значение по значению (а не по SelectedIndex или SelectedValue)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]