public PhotoViewer(IMetadataStore metadataStore) { _metadataStore = metadataStore; InitializeComponent(); RootValues = new ObservableCollection <AttributeValue>(); Files = new ObservableCollection <Thumbnail>(); Attributes = new ObservableCollection <string>(); var attributes = _metadataStore.AllAttributes(); foreach (var attribute in attributes) { Attributes.Add(attribute); } SelectedAttribute = attributes.FirstOrDefault(); cboAttributes.DataContext = this; tvAttributeValues.DataContext = this; lvPhotos.DataContext = this; }