나는 SelectedItem과 콤보 박스를 가지고있다. 항목을 선택하면 설정자가 일부 계산을 수행하고 값을 이전 값으로 다시 설정하려고합니다. 불행히도 내 견해는 상쾌하지 않습니다.내 C# ComboBox는 항목을 선택한 후에 getter를 호출하지 않습니다. 왜?
나는 다음과 같은 콤보가 : 여기
<ComboBox BorderThickness="0" VerticalAlignment="Center" Margin="2,0"
DisplayMemberPath="Name"
ItemsSource="{Binding ItemsVS.View}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}" >
</ComboBox>
내 뷰 모델의 재산을 :
private CollectionViewSource _itemsVS;
public CollectionViewSource ItemsVS
{
get { return _itemsVS; }
set
{
_itemsVS = value;
if(PropertyChanged!=null)
PropertyChanged(this, new PropertyChangedEventArgs("ItemsVS"));
}
}
private ItemViewModel _selectedItem;
public ItemViewModel SelectedItem
{
get
{
// after setting the old value in the setter the getter is not called
// and the view is not refreshed
return _selectedItem;
}
set
{
var old = _selectedItem;
_selectedItem = value;
// After some logic I want to have the old value!!!!!!!!!!!!!!
_selectedItem = old;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("SelectedItem"));
}
}
'PropertyChanged', 무슨 새로 고침입니까? 아무것도 변하지 않았다. –
WPF 또는 ASP 또는 기타로 질문에 태그를 답니다. !! – TaW
@BenRobinson 실제 주제는 좀 더 복잡합니다. 아마도 나는 "가치"도 "오래된"것도 설정하고 싶지 않습니다. – koalabruder