Обновление WPF ViewModel, привязанного к ListBox из CodeBehindC#

Место общения программистов C#
Ответить
Anonymous
 Обновление WPF ViewModel, привязанного к ListBox из CodeBehind

Сообщение Anonymous »

Я новичок в WPF/MVVM и у меня есть два ListBox с двумя кнопками: одна для копирования выбранных элементов из левого списка в правый и обратно с помощью второй кнопки.

При запуске левый ListBox правильно заполняется данными из хранилища данных, когда я выбираю некоторые элементы и нажимаю кнопку btn_add_symbol_Click, метод AddSelectedSymbol выполняется, как и ожидалось, OnPropertyChanged также и метод получения WidgetSymbolsSelected< /code> (я полагаю, из правого ListBox) вызывается, возвращая правильный обновленный CurrentWidget.Symbols. Проблема в том, что правый элемент ListBox, lst_SelectedSymbols, всегда пуст. Что происходит? Спасибо.
XAML:



ВМ:
public IEnumerable AvailableSymbols
{
get { return DataManager.AvailableSymbols; }
}

public IEnumerable WidgetSymbolsSelected
{
get { return CurrentWidget.Symbols; }
}

public void AddSelectedSymbol(string symbol)
{
if (!CurrentWidget.Symbols.Contains(symbol)) {
CurrentWidget.Symbols.Add(symbol);
OnPropertyChanged("WidgetSymbolsSelected");
}
}

CodeBehind:
private void btn_add_symbol_Click(object sender, RoutedEventArgs e)
{
var ViewModel = (WidgetEditorViewModel)this.DataContext;
foreach (var Item in lst_AvailableSymbols.SelectedItems)
{
ViewModel.AddSelectedSymbol(Item.ToString());
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... codebehind
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»