Silverlight 응용 프로그램을 Metro로 이식하려고하는데 내 제어 템플릿 설정 내에서 {Binding PropertyName, RelativeSource={RelativeSource TemplatedParent}}
에 대한 바인딩이 작동하지 않는 것으로 나타났습니다 ({TemplateBinding PropertyName}
).RelativeSource TemplatedParent에 바인딩이 ControlTemplate 내에서 작동하지 않습니다.
내 Silverlight 응용 프로그램 내에서이 두 가지 모두 작동하지만 Mode=TwoWay
의 사용을 허용하려면 RelativeSource 구문을 사용해야합니다.
ControlTemplate에서 TwoWay 바인딩을 사용하려면 어떻게해야합니까?
SL5, WP7 및 Metro 사이에서 제어 논리의 코드베이스를 공유하려고 시도 중이므로 ControlTemplate 내에 관련된 UI를 유지하려고 시도하고있었습니다. 즉, 당신이 제안하고 내 OnApplyTemplate에서 바인딩을 설정하려고 시도했지만 ListBox.SelectedItemProperty에 대한 TwoWay 바인딩이 작동하지 않는 것으로 나타나고 PropertyChangedCallback을 실행하지 않습니다. 어쩌면 이것은 ListBox 컨트롤의 문제 일 것입니다. –
사용자 지정 ContentControl이 포함 된 새 응용 프로그램에서이 내용을 복제하려고 시도했지만 제대로 작동하지 않았습니다. 드로잉 보드로 돌아 가기! –
ListBox에 SelectionChanged 이벤트 처리기를 추가하면 수동으로 업데이트됩니다. 나는 단지 이것을 다음주에 끝내는 Win8 dev 캠프에 가져 가야하고 그들이 말하는 것을보아야 할 것이다! –