Вы должны установить DataContext
из UserControl
для вашей коллекции:
DataContext = _imageCollection
Вы можете сделать это с помощью метода UserControl_Loaded()
.
Далее вам нужносвязать ItemsSource
из ListView
в XAML:
<ListView ItemsSource="{Binding}"/>
{Binding}
эквивалентен {Binding .}
, который связывается с DataContext
из UserControl
.Если вам нужно «больше вещей» в вашем DataContext
, вы можете вместо этого создать класс следующим образом:
class ViewModel : INotifyPropertyChanged {
public ObservableCollection Images { get { ... } }
...
}
Используйте этот класс для DataContext
:
DataContext = new ViewModel();
И заменитепривязка для привязки к свойству Images
:
<ListView ItemsSource="{Binding Images}"/>
Затем вы можете добавить еще одно свойство к ViewModel
:
class ViewModel : INotifyPropertyChanged {
public ObservableCollection Images { get { ... } }
public String Message { get { ... } set { ... } }
...
}
и связать его с элементом управления:
<TextBlock Text="{Binding Message}"/>
Не забудьте запустить событие PropertyChanged
при изменении свойства Message
в ViewModel
.Это обновит пользовательский интерфейс, когда свойства модели представления будут изменены кодом.