2016-06-14 3 views
0

WPF 컨트롤 (NotifyIconWpf https://bitbucket.org/hardcodet/notifyicon-wpf/src)을보고 있는데 종속성 속성의 바인딩이 어떻게 작동하는지 알 수 없습니다.WPF 종속성 속성 바인딩

컨트롤에는 시스템 트레이 아이콘의 아이콘을 설정하는 데 사용되는 TaskbarIcon.IconSource이라는 종속성 속성이 있습니다 (코드 IconSourceImageSource입니다).

그러나 XAML에서는 IconSource="/Red.ico"과 같은 문자열로 설정하거나 IconSource="{Binding MyIcon}"에 바인딩 할 수 있습니다. 여기서 MyIcon은 DataContext의 문자열입니다.

이 문자열은 어떻게 마법으로 ImageSource으로 변환됩니까? 여기에 명백한 것이 없습니다.

읽어 주셔서 감사합니다.

답변

2

전환은 ImageSourcestring, Uribyte[]에서 변환 할 수있는 ImageSourceConverter 클래스에 의해 이루어집니다.

그것은이 같은 ImageSource 클래스 TypeConverter가로 등록 : TypeConverters and XAML :

[TypeConverterAttribute(typeof(ImageSourceConverter))] 
public abstract class ImageSource : Animatable, IFormattable 

여기 형식 변환에 대해 자세히 알아보십시오.