2013-09-24 2 views
0

의심의 여지가 있습니다. 나는 내 wpf 응용 프로그램에서 ListView 있고 SQL Server에서 데이터 테이블에 해당 데이터 컨텍스트/항목 원본을 설정합니다. ListView에 데이터 테이블의 데이터를 채울 수 있지만 세 번째 열은 각 행의 콤보 상자입니다. 그래서 우리는 언제든지 comboxbox의 값을 변경할 수 있습니다. 그러나 우리가 그것을 바꾼다면 나중에 참조 할 수 있도록 원래 선택한 값을 확인하거나 유지할 수 있습니까?WPF의 각 행에서 값 변환기 클래스를 초기화하십시오.

ComboBox의 값을 변경하면 ComboBox의 색을 변경하고 싶습니다. 원래 값으로 돌아 가면 combox에 정상적인 색을 돌려 주면됩니다.

값 변환기 클래스를 만들고이 클래스에 종속성 속성을 선언했습니다. 내 계획은 원래의 바인딩 된 값을이 종속성 속성으로 설정하고 콤보의 배경색을이 값 변환기로 설정하는 것이 었습니다.

종속성 속성을 정의한 후 XAML에서 값 변환기 클래스를 초기화 할 수 없습니다.

올바른 방법입니까? 각 ListView 행 항목과 함께 클래스 인스턴스를 설정하는 것과 같은 것이 있습니까? 당신이 MVVM을 사용하는 경우

+0

지금까지 해본 코드를 게시하십시오. –

답변

2

, 당신은 당신의 ViewModel에 OldValueSelectedValue 속성을 가지고 있고, SelectedValueOldValue 경우 확인하는 트리거를 사용하여 콤보 상자의 색상을 변경해야합니다.

관련 문제