#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. Поскольку оно доступно только для чтения, вы не сможете получить значение, если оно будет изменено пользователем на странице.