일반적으로 데이터 바인딩 된 컨트롤을 '업데이트'하려면 "PropertyChanged"이벤트를 사용하여 데이터가 장면 뒤에서 변경되었음을 인터페이스에 알립니다.변환기를 사용하여 DataContext에 직접 바인드 된 WPF 업데이트 바인딩
예를 들어, 속성 "해당 DisplayText"여기에서
<TextBlock Text="{Binding Path=DisplayText}"/>
, 함께 데이터 컨텍스트에 바인딩 된 본체를 가질 수 DataContext를 다음 PROPERTYNAME로하여 PropertyChanged 이벤트 "해당 DisplayText"을 제기하는 경우 이 텍스트 블록의 텍스트는 업데이트되어야합니다 (바인딩 모드를 변경하지 않았다고 가정).
그러나 컨트롤의 최종 모양과 느낌을 결정하기 위해 datacontext의 여러 속성을 사용하는보다 복잡한 바인딩이 있습니다. 이것을 달성하기 위해, 나는 datacontext에 직접 바인딩하고 변환기를 사용한다. 이 경우 나는 이미지 소스로 작업하고있다. 당신이 볼 수 있듯이
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
, 나는 어떤 경로로 {바인딩}가 데이터 컨텍스트에 직접 바인딩하는 데 사용하고, 나는 내가 찾고 이미지를 선택하는 ImageConverter를 사용합니다. 하지만 지금은 바인딩에 업데이트를 알리는 방법이 없습니다. 나는 "."으로 propertychanged 이벤트를 발생 시키려고 노력했다. 성질로서, 그것은 작동하지 않았다.
이것이 가능합니까? 바인딩을 연결할 수있는 속성으로 변환 논리를 마무리해야합니까, 아니면 바인딩을 명시 적으로 새로 고치지 않고 새로 고침을 지시 할 수있는 방법이 있습니까?
도움을 주시면 감사하겠습니다. 감사합니다. -Adam
감사합니다! 나는 이것을 찾으려고 미친 듯이 내 제안에 나타 났을 때 그것을 묻기 시작했다. – HDD