Привязка нескольких Listbox к одному SelectedItem

209
11 марта 2017, 00:42

Есть несколько ListBox к которым привязываются разные коллекции. И есть панель со свойствами, где пользователь может редактировать выбранный элемент. Поэтому нужно сделать, что может быть выбран элемент только в одном из ListBox.

Я думал, что если сделаю свойство, в котором будет хранится выбранный объект:

public BaseAction SelectedElement
{
    get
    {
        return _selectedAction;
    }
    set
    {
        _selectedAction = value;
        OnPropertyChanged();
    }
}

и сделаю привязку к SelectedItem, то все будет работать, т.к. если ListBox не находит этот элемент у себя, то выделять нечего.

<ListBox ItemsSource="{Bindig UserActions}" SelectedItem="{Binding SelectedElement}" />
<ListBox ItemsSource="{Bindig GroupActions}" SelectedItem="{Binding SelectedElement}" />

Но это не сработало. При выборе элемента в другом ListBox элемент из предыдущего не теряет выделения.

Подскажите, как реализовать задуманное?

Answer 1

Самое просто решение использовать SelectedValue вместо SelectedItem

<ListBox ItemsSource="{Bindig UserActions}" SelectedValue="{Binding SelectedElement}" />
<ListBox ItemsSource="{Bindig GroupActions}" SelectedValue="{Binding SelectedElement}" />

Взято с ответа на SO

READ ALSO
Dispose() в структуре

Dispose() в структуре

В примере ниже будет выведено: false false

276
Не заменяется цвет на изображении через Magick.Net

Не заменяется цвет на изображении через Magick.Net

В общем, белый цвет заменяется на темно-серый, хотя в TargetColor RGB равен зеленому цвету (R - 0, G - 255, B - 0)

230
как получить доступ к чужому google calendar через api

как получить доступ к чужому google calendar через api

Подсмотрел в чужом приложении что нужно перейти по ссылке например

264
Как добавить таблицу в Word файле через C#?

Как добавить таблицу в Word файле через C#?

Добрый день, подскажите, как можно дописать код? Мне нужно открыть шаблон word-файла, сделать правки и в самом конце добавить таблицуПервые...

401