У меня есть список, который при выборе элемента вызывает метод, выполняющий хранимую процедуру.
Проблема в том, что когда выбран первый элемент, мое событие PropertyChanged не срабатывает, пока выбор не будет изменен с одного элемента на другой. Таким образом, запускается уведомление второго элемента SelectedItem PropertyChanged, но похоже, что выбор первого элемента просто рассматривается как вход в список, вместо входа в список и выбора элемента, на котором происходит щелчок.
Кроме того, я не могу просто дважды щелкнуть один и тот же элемент, чтобы получить уведомление, мне нужно фактически выбрать другое свойство, чтобы событие произошло.
Каков наилучший способ получить элемент, на который я сначала нажимаю при входе в список, чтобы он был SelectedItem, с запуском события PropertySelected/Property Changed для этого элемента? Я надеюсь, что это ясно.
Ниже мой код, заранее спасибо!
В моей модели просмотра:
public ObjectClass SelectedObject
{
get { return _SelectedObject; }
set
{
_SelectedObject = value;
base.OnPropertyChanged("SelectedObject");
}
}
void OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case "SelectedObject" : UpdateSelectedStuffList.StoredProcedureMethod(this);
}
}
По-моему:
<ListBox ItemsSource="{Binding Path=ObjectCollection, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="objectName"
SelectedItem="{Binding Path=SelectedObject, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Я думал, что вместо использования PropertyChangedEventArgs будет что-то вроде «PropertySelectedEventArgs». ИЛИ, может быть, мне нужно реализовать INotifyPropertyChanging?