다양한 속성의 두 가지 버전을 비교하고 다른 속성과 굵은 글꼴을 비교하고 싶습니다. SL4는 MultiBinding을 지원하지 않기 때문에 FontWeight를 "."에 바인딩합니다. 전체 데이터 컨텍스트가 변환기로 전달됩니다. 그런 다음 converter 매개 변수를 사용하여 변환기 내에서 비교할 필드를 지정합니다. 지금까지 너무 좋아 ... 일치하지 않는 값은 굵게 표시됩니다.Silverlight 4에서 값 변환기를 사용하여 FontWeight에 바인딩
굵게 표시된 속성은 편집 할 수있는 텍스트 상자에 바인딩되어 있습니다. 값을 편집 할 때 글꼴 크기가 새 값에 따라 설정되도록 변환기를 "다시 활성화"해야합니다. 이것은 일어나지 않습니다. 이것이 어떻게 성취 될 수 있는가?
참고 : 해당 클래스 및 속성에 대해 이미 INotifyPropertyChanged를 구현했습니다. 값을 변경 한 후 다음 필드로 이동하면 PropertyChanged 이벤트가 발생하지만 실제로 다른 레코드로 이동 한 다음 변경된 레코드로 돌아올 때까지 글꼴 무게는 으로 업데이트되지 않습니다..
는 (나는 또한 그 트릭을 할 것입니다 있는지 확인하기 위해 모드 = 양방향을 사용했습니다. 그러나, 양방향을 당신이 결합 할 때 사용할 수 없습니다 바인딩 ".")
답변 해 주셔서 감사합니다. (지연된 것에 대해 유감스럽게 생각합니다. 방금 짧지 만 많이 필요한, 휴가로 돌아 왔습니다. :-)) GreenIcicle의 제안과 함께이 접근법을 시도해 보겠습니다. 값 변환기에서 이것을 수행 할 필요는 없습니다. 그러나 저는 RIA Services와 함께이 작업을 시도하고 있습니다. 위에서 RIA 서비스와 함께 MVVM 접근법을 사용할 때주의해야 할 사항이 있습니까? – MylesRip
나는 이것을 시험해 보았고 그것은 나를 위해 일했다. FWIW ... RIA 서비스에서 .shared 코드를 사용하여 위에 정의 된대로 "Value2FontWeight"속성을 내 DTO에 추가 할 수 있습니다 (이 경우 더 이상 엄격한 의미에서 DTO가 아닌 것으로 생각되지만 괜찮습니다).). – MylesRip
FWIW ... RIA 서비스에서이 접근법을 사용하는 데 약간의 문제가있는 것 같습니다 (보기 모델을 사용하지 않는 경우).클라이언트 용으로 생성 된 코드는 속성에 대한 자체 setter 메서드를 제공하므로 위의 솔루션에서 OnPropertyChanged ("Value2FontWeight")에 대한 호출이 생성 된 setter에 없기 때문에 실행되지 않습니다. – MylesRip