|
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 36
|
||||||
Выделение ListBoxItem при фокусе на вложенном элементе25.04.2019, 17:33. Показов 1318. Ответов 5
Метки нет (Все метки)
Доброго времени суток, сразу к делу, есть такой ListBox:
Добавлено через 9 минут Нужен полный игнор элементов внутри ListBoxItem'a, чтоб при нажатии на Label, Button и т.д выделялся этот элемент. Но так же был бы рад как обойти это устройство(задаток на будущее так сказать, вдруг пригодиться)
0
|
||||||
| 25.04.2019, 17:33 | |
|
Ответы с готовыми решениями:
5
ListBoxItem выделение, лишнее место
Убрать выделение ячеек в StringGrid при фокусе |
|
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
|
|||||||
| 25.04.2019, 18:04 | |||||||
|
Кликните здесь для просмотра всего текста
Во-первых, вам нужно реализовать интерфейс INotifyPropertyChanged в вашей модели представления и поднять событие PropertyChanged в настройщике свойства Rule. В противном случае управление, связанное с свойством SelectedRule, будет "знать", когда оно было изменено. Затем ваш XAML <TextBlock Text="{Binding Path=SelectedRule.Name}" /> отлично, если этот TextBlock находится вне ListBox ItemTemplate и имеет тот же DataContext, что и ListBox. Внутри DataTemplate вы работаете в контексте Rule, поэтому вы не можете привязываться к SelectedRule.Name - такого свойства на Rule нет. Чтобы привязываться к исходному контексту данных (который является вашим ViewModel), вы можете написать: <TextBlock Text="{Binding ElementName=lbRules, Path=DataContext.SelectedRule.Name}" /> Кликните здесь для просмотра всего текста
XAML
Кликните здесь для просмотра всего текста
namespace TestWpfApplication { /// <summary> /// Interaction logic for ListBoxSelectedItem.xaml /// </summary> public partial class ListBoxSelectedItem : Window { public ListBoxSelectedItem() { InitializeComponent(); } } public class Rule { public string Name { get; set; } } public class ListBoxSelectedItemViewModel { public ListBoxSelectedItemViewModel() { Rules = new ObservableCollection<Rule>() { new Rule() { Name = "Rule 1"}, new Rule() { Name = "Rule 2"}, new Rule() { Name = "Rule 3"}, }; } public ObservableCollection<Rule> Rules { get; private set; } private Rule selectedRule; public Rule SelectedRule { get { return selectedRule; } set { selectedRule = value; } } } } И тут
1
|
|||||||
|
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 36
|
|
| 25.04.2019, 18:28 [ТС] | |
|
0
|
|
|
Модератор
|
||
| 26.04.2019, 01:16 | ||
|
Если так то для этого надо связать через триггер свойства IsKeyboardFocusWithin и IsSelected в стиле ListBoxItem. Ни каких изменений в шаблон или ViewModel для этого вносить не надо. Пример реализации посмотрите в посте Программное создание item в TreeView MVVM строки 93-102 вьюшки.
0
|
||
|
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 36
|
|||||||||||
| 28.04.2019, 17:26 [ТС] | |||||||||||
|
Спасибо за информацию, и такой еще вопрос, он подходит под эту тему.
У меня есть такой код в ListBox
Пробовал еще такую строчку:
0
|
|||||||||||
|
Модератор
|
|||
| 28.04.2019, 17:51 | |||
|
Если будете развивать тему, то лучше создайте новую.
0
|
|||
| 28.04.2019, 17:51 | |
|
Помогаю со студенческими работами здесь
6
Выделение значения в элементе. Пунктирное выделение tabPage в элементе tabControl ListBoxItem не группируются при уменьшении размеров окна Как при свёртывание вкладки/окна браузера,остановить(очистить) интервал,а при фокусе опять его установить Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Вот уже год прошел, как у меня домен в reg.ru ...
Etyuhibosecyu 16.04.2026
И ничего они мне не сделали. Если отвязать карту, никакие услуги они не навяжут. Я бы с радостью продлил еще на два года, чтобы не мучиться с временным доменом и меня уже знали по red-star-soft. com,. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|