2015-04-05 2 views
9

В соответствии с видеороликами начала запуска Windows 10 SDK (http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink) существует новый тип привязок для платформы универсального приложения Windows 10, называемой «скомпилированные привязки данных».Windows 10 UAP - Скомпилированные привязки данных

Вместо

"{Binding Path=..." 

новый стиль является

"{x:Bind Path=..." 

Однако это бросает только в ошибке компиляции, что все, что находится позади = помещается не существует в контексте.
Установка

"{x:Bind Path=DataContext...." 

не работает.
Неужели кому-то удалось заставить новые привязки работать? Есть ли какая-либо документация по этой теме, потому что я, кажется, не быть в состоянии найти что-либо (даже не пример, который вы могли бы «обратный инженер» ...

Обновление:
Благодаря ответ Ник смогу добавьте следующее:
Поскольку я обычно вставляю модели просмотра после инициализации страницы/UserControl, страница/UserControl, похоже, не замечает обновленного свойства ViewModel (даже когда страница/UserControl реализует и «запускает» INotifyPropertyChanged). Очевидно есть новое поле в Pages/UserControls, называемое Bindings, которое может принудительно выполнить сброс всех скомпилированных привязок данных.

Поэтому, как только вы измените ваш ViewModel (или другое свойство ссылается на й: Bind), вы можете просто позвонить:

Binding.UpdateAll() 

Таким образом, страница/UserControl переоценивает все скомпилированные привязки данных и принимает «данные переключения контекста».

+0

Означает ли это "х: Bind" не является полезным с не основанных на страницах ViewModels, таких как MvvmLight? –

+0

Отвечая на мой вопрос re MvvmLight. Просто закрепите viewmodel в конструкторе кода позади и укажите его как часть связывания, как в: Text = "{x: Bind Path = vm.prop, Mode = OneWay}" –

+0

Не удается найти Binding.UpdateAll метод. – Christian80

ответ

Смежные вопросы