내 DataGrid의 SelectedItem이 아래 속성에 바인딩됩니다.WPF DataGrid에서 SelectedItem 속성을 null로 바인딩 한 설정이 작동하지 않습니다.
public OrderItemViewModel SelectedItem
{
get { return _selectedItem; }
set
{
if (_selectedItem != value)
{
_selectedItem = value;
OnPropertyChanged(() => SelectedItem);
if (_selectedItem != null && _isReturnMode)
{
if (_selectedItem.OrderItemModel.ProductDetails.IsConstructed)
{
VisiblePaymentViewModel = new ViewReturnComponentsViewModel(this, value.OrderItemModel.ProductDetails);
}
else
{
VisiblePaymentViewModel = new EditReturnItemViewModel(this, value);
}
SelectedItem = null;
}
}
}
}
데이터 격자의 ItemsSource가
public ICollectionView VisibleOrderItems { get; set; }
내가 프로그램에서의 selectedItem을 재설정 할 이유에 바인딩,이 터치 스크린 응용 프로그램이기 때문에, 그리고 그들은 항목을 선택하면, I 보기를 변경하려고 할 때 데이터 그리드를 사용하여보기로 돌아갈 때 항목을 선택하지 않아도됩니다.
난 그냥의 selectedItem을 지 웁니다 별도의 함수를 만드는 시도하고, 별도의보기가 완료되면, 또한 variuous 바인딩 설정 .... UpdateSourceTrigger =하여 PropertyChanged, 모드 = 양방향을 시도하는 것이 호출했습니다 IsSynchronizedWithCurrentItem
이것이 작동하지 않는 이유에 대해 머리를 감쌀 수 없습니다.
데이터 격자가 강조로 행을 표시하지만 해당 행을 클릭하면이 _selectedItem이 (_selectedItem != value
)
"OnPropertyChanged"메소드에서 null 체크를 수행하고 있습니까? 가능한 경우 OnPropertyChanged 메서드에 코드를 제공하십시오. – Bathineni