Listbox, привязанный к ObservableCollection странная проблема MVVM WPF - PullRequest
0 голосов
/ 05 октября 2011

это мой первый вопрос, опубликованный здесь ... У меня есть пользовательский интерфейс, который содержит ListBox с предварительно загруженными элементами, а графический интерфейс позволяет пользователю добавлять или удалять элементы в этом списке.Очень просто.Проблема заключается в том, что когда я выбираю элементы в ListBox, я не могу отменить их выбор, если они были добавлены в ObservableCollection «во время выполнения» (элементы, загруженные «по умолчанию», работают нормально!).это:

<ListBox ItemsSource="{Binding RolFunciones}" 
SelectionMode="Single"
DisplayMemberPath="Descripcion" 
SelectedItem="{Binding SelectedRolFunciones, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Width="600"
Height="300" />    

В моей ViewModel у меня есть:

ObservableCollection<RolFuncion> mRolFunciones;
public ObservableCollection<RolFuncion> RolFunciones 
{
    get { return mRolFunciones; }
    set { mRolFunciones = value; OnPropertyChanged(() => RolFunciones); }
}

RolFuncion mSelectedRolFunciones;
public RolFuncion SelectedRolFunciones 
{
    get { return mSelectedRolFunciones; }
    set { mSelectedRolFunciones = value; OnPropertyChanged(() => SelectedRolFunciones); }
}

...

// Constructor
public RolViewModel()
{
    RolFunciones = new ObservableCollection<RolFuncion>();
    RolFunciones.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(RolFunciones_CollectionChanged);
}

void RolFunciones_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    OnPropertyChanged(() => RolFunciones);
}

... И у меня есть метод, который добавляет элементв ObservableCollection, как это

void AddFunctionExecute()
{
    RolFunciones.Add(new RolFuncion() { Descripcion = "dummy" });
}

У кого-то была такая же проблема?

...