Теперь должна появиться возможность сохранения данных в файле, их загрузки из файла и очистки InkCanvas
TabControl завершена, равно как и исследование интерфейса Ink API. Конечно, о технологии Ink API можно рассказать еще много чего, но теперь вы должны обладать достаточными знаниями, чтобы продолжить изучение темы самостоятельно. Далее вы узнаете, как применять привязку данных WPF.Введение в модель привязки данных WPF
Элементы управления часто служат целью для разнообразных операций привязки данных. Выражаясь просто,
• отмечать флажок элемента управления Checkbox
• отображать в элементах TextBox
• подключать элемент Label
При работе со встроенным механизмом привязки данных WPF важно помнить о разнице между
CheckBox или TextBox).В дополнение к привязке традиционных данных инфраструктура WPF делает возможной привязку элементов, как было продемонстрировано в предшествующих примерах. Это значит, что можно привязать (скажем) видимость свойства к свойству состояния отметки флажка. Такое действие было определенно возможным в Windows Forms, но требовало реализации через код. Инфраструктура WPF предлагает развитую экосистему привязки данных, которая способна почти целиком поддерживаться в разметке. Она также позволяет обеспечивать синхронизацию источника и цели в случае изменения значений данных.
Построение вкладки Data Binding
В окне Document Outline
замените элемент управленияGrid во второй вкладке панелью StackPanel. Создайте следующую начальную компоновку с применением панели инструментов и окна Properties среды Visual Studio:
Minimum = "1" Maximum = "100" LargeChange="1" SmallChange="1"/>
BorderThickness="2" Content = "0"/>
Обратите внимание, что объект ScrollBar
mySB) сконфигурирован с диапазоном от 1 до 100. Цель заключается в том, чтобы при изменении положения ползунка линейки прокрутки (либо по щелчку на символе стрелки влево или вправо) элемент Label автоматически обновлялся текущим значением. В настоящий момент значение свойства Content элемента управления Label установлено в "0"; тем не менее, оно будет изменено посредством операции привязки данных.Установка привязки данных
Механизмом, обеспечивающим определение привязки в разметке XAML, является расширение разметки {Binding}
Content элемента Label по имени labelSBThumb следующим образом: Content = "{Binding Path=Value, ElementName=mySB}"/>
Обратите внимание на значение, присвоенное свойству Content
Label. Конструкция {Binding} обозначает операцию привязки данных. Значение ElementName представляет источник операции привязки данных (объект ScrollBar), a Path указывает свойство, к которому осуществляется привязка (свойство Value линейки прокрутки).Если вы запустите программу снова, то обнаружите, что содержимое метки обновляется на основе значения линейки прокрутки по мере перемещения ползунка.
Свойство DataContext
Для определения операции привязки данных в XAML может использоваться альтернативный формат, при котором допускается разбивать значения, указанные расширением разметки {Binding}
DataContext в источник операции привязки: BorderThickness="2"
DataContext = "{Binding ElementName=mySB}"
Content = "{Binding Path=Value}" />