WP7 /XAML: привязка данных к свойству в коде, лежащем в основе файла

#xaml #data-binding #windows-phone-7

#xaml #привязка данных #windows-phone-7

Вопрос:

Я довольно новичок в XAML и Silverlight. У меня есть страница XAML и класс code behind для нее. В классе у меня есть защищенное свойство, доступное только для чтения. Могу ли я привязать элемент управления к этому свойству? Попытка указать корневой элемент XAML в качестве DataContext (по имени, в качестве ElementName) вызывает ошибку разработчика «Значение не попадает в ожидаемый диапазон».

РЕДАКТИРОВАТЬ: я бы хотел сделать это дьявольским способом дизайнера. Я понимаю, что могу сделать все (включая контрольное заполнение) из кода; суть не в этом. Могу ли я заставить дизайнера распознавать и отображать свойства моего кодового класса? Не к одному из базовых ( PhoneApplicationPage ), а к тем, которые я определяю?

Ответ №1:

Вашим исходным кодом должен быть datacontext.

Например, в коде главной страницы за:

 public MainPage()
{
    InitializeComponent();

    DataContext = this;
}
  

Вы должны иметь возможность привязываться к защищенному свойству, но только одним способом, т. Е. из свойства в xaml. Поскольку оно доступно только для чтения, вы не сможете получить значение, если оно будет изменено пользователем на странице.