У меня странное поведение, когда я связываю и комбинирую со своей моделью просмотра.Поведение следующее: когда я изменяю выбранное значение комбо, я проверяю новое значение, и если это новое значение недопустимо, я сохраняю старое значение и отбрасываю новое, таким образом я не поднимаюInotifypropertychanged, но в любом случае вызывается метод получения из свойства, связанного с полем со списком, он возвращает старое значение, которое я хочу показать, но вместо этого поле со списком показывает новое значение, даже если выбранное значение поля со списком указано как старое и правильное значениеЯ проверил в режиме отладки.Я не знаю, как я могу решить эту проблему, потому что я никогда не видел такого поведения, любые предложения будут высоко оценены.
Это код XAML
<ComboBox Height="23" Name="cbxStatus" HorizontalAlignment="Left"
ItemsSource="{Binding Path=Status, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Path=SelectedStatus, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Value" Width="130" VerticalAlignment="Center"
IsEnabled="{Binding Path=StatusEnable, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
этокод модели представления, свойство
public Config SelectedStatus
{
get
{
if (ApplicationAction == ApplicationAction.Add)
{
base.Object.State = configManager.BudgetInitStatus();
StatusEnable = false;
}
else
{
StatusEnable = true;
}
return base.Object.State;
}
set
{
if (base.Service.CanChangeBudgetStatus(base.Object, value))
{
base.Object.State = value;
base.Object.IsDirty = true;
}
RaiseOnPropertyChanged("SelectedStatus");
RaiseOnPropertyChanged("AssociateOrderButtonVisibility");
}
}
Спасибо за помощь